Versions in this module Expand all Collapse all v0 v0.1.2 Apr 9, 2019 v0.1.0 Feb 23, 2019 Changes in this version + const NoopNamespace + var ErrNamespaceNotFound = errors.New("no matches for namespace") + func Register(name string, factory ClientFactory) + type Auth map[string]AuthConfig + type AuthConfig map[string]interface + type BandwidthWatcher struct + func NewBandwidthWatcher(manager *Manager) *BandwidthWatcher + func (w *BandwidthWatcher) Notify(latest stringset.Set) + type Client interface + Download func(namespace, name string, dst io.Writer) error + List func(prefix string) ([]string, error) + Stat func(namespace, name string) (*core.BlobInfo, error) + Upload func(namespace, name string, src io.Reader) error + type ClientFactory interface + Create func(config interface{}, authConfig interface{}) (Client, error) + type Config struct + Backend map[string]interface{} + Bandwidth bandwidth.Config + Namespace string + type Manager struct + func ManagerFixture() *Manager + func NewManager(configs []Config, auth AuthConfig) (*Manager, error) + func (m *Manager) AdjustBandwidth(denominator int) error + func (m *Manager) GetClient(namespace string) (Client, error) + func (m *Manager) Register(namespace string, c Client) error + type NoopClient struct + func (c NoopClient) Download(namespace, name string, dst io.Writer) error + func (c NoopClient) List(prefix string) ([]string, error) + func (c NoopClient) Stat(namespace, name string) (*core.BlobInfo, error) + func (c NoopClient) Upload(namespace, name string, src io.Reader) error + type ThrottledClient struct + func (c *ThrottledClient) Download(namespace, name string, dst io.Writer) error + func (c *ThrottledClient) EgressLimit() int64 + func (c *ThrottledClient) IngressLimit() int64 + func (c *ThrottledClient) Upload(namespace, name string, src io.Reader) error