moby--moby/registry
Aaron Lehmann 572ce80230 Improved push and pull with upload manager and download manager
This commit adds a transfer manager which deduplicates and schedules
transfers, and also an upload manager and download manager that build on
top of the transfer manager to provide high-level interfaces for uploads
and downloads. The push and pull code is modified to use these building
blocks.

Some benefits of the changes:

- Simplification of push/pull code
- Pushes can upload layers concurrently
- Failed downloads and uploads are retried after backoff delays
- Cancellation is supported, but individual transfers will only be
  cancelled if all pushes or pulls using them are cancelled.
- The distribution code is decoupled from Docker Engine packages and API
  conventions (i.e. streamformatter), which will make it easier to split
  out.

This commit also includes unit tests for the new distribution/xfer
package. The tests cover 87.8% of the statements in the package.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-12-09 19:13:35 -08:00
..
auth.go rename req to resp 2015-12-02 20:38:54 +08:00
auth_test.go Improve documentation and golint compliance of registry package 2015-07-24 11:55:07 -07:00
authchallenge.go Adds support for v2 registry login 2015-01-15 14:04:14 -08:00
config.go Update daemon and docker core to use new content addressable storage 2015-11-24 09:40:25 -08:00
config_test.go Deprecating ResolveRepositoryName 2015-01-08 20:14:58 +00:00
config_unix.go Check if CertsDir is not empty 2015-11-25 18:12:19 +01:00
config_windows.go Update Windows TP3 registry endpoints 2015-08-07 14:03:46 -07:00
endpoint.go Prevent push and pull to v1 registries by filtering the available endpoints. 2015-09-25 15:59:42 -07:00
endpoint_test.go Improve documentation and golint compliance of registry package 2015-07-24 11:55:07 -07:00
reference.go Use notary library for trusted image fetch and signing 2015-07-24 14:08:20 -07:00
registry.go Add missing bounds in ContinueOnError 2015-12-08 09:54:20 -08:00
registry_mock_test.go Update daemon and docker core to use new content addressable storage 2015-11-24 09:40:25 -08:00
registry_test.go Update daemon and docker core to use new content addressable storage 2015-11-24 09:40:25 -08:00
service.go Update daemon and docker core to use new content addressable storage 2015-11-24 09:40:25 -08:00
service_v1.go Update daemon and docker core to use new content addressable storage 2015-11-24 09:40:25 -08:00
service_v2.go Update daemon and docker core to use new content addressable storage 2015-11-24 09:40:25 -08:00
session.go Improved push and pull with upload manager and download manager 2015-12-09 19:13:35 -08:00
token.go Registry: remove unwanted return variable name 2015-06-09 10:58:33 +08:00
types.go Update daemon and docker core to use new content addressable storage 2015-11-24 09:40:25 -08:00