obj

package
v1.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2016 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewExponentialBackOffConfig added in v1.1.0

func NewExponentialBackOffConfig() *backoff.ExponentialBackOff

NewExponentialBackOffConfig creates an exponential back-off config with longer wait times than the default.

Types

type BackoffReadCloser

type BackoffReadCloser struct {
	// contains filtered or unexported fields
}

BackoffReadCloser retries with exponential backoff in the case of failures

func (*BackoffReadCloser) Close

func (b *BackoffReadCloser) Close() error

Close closes the ReaderCloser contained in b.

func (*BackoffReadCloser) Read

func (b *BackoffReadCloser) Read(data []byte) (int, error)

type BackoffWriteCloser

type BackoffWriteCloser struct {
	// contains filtered or unexported fields
}

BackoffWriteCloser retries with exponential backoff in the case of failures

func (*BackoffWriteCloser) Close

func (b *BackoffWriteCloser) Close() error

Close closes the WriteCloser contained in b.

func (*BackoffWriteCloser) Write

func (b *BackoffWriteCloser) Write(data []byte) (int, error)

type Client

type Client interface {
	// Writer returns a writer which writes to an object.
	// It should error if the object already exists or we don't have sufficient
	// permissions to write it.
	Writer(name string) (io.WriteCloser, error)
	// Reader returns a reader which reads from an object.
	// If `size == 0`, the reader should read from the offset till the end of the object.
	// It should error if the object doesn't exist or we don't have sufficient
	// permission to read it.
	Reader(name string, offset uint64, size uint64) (io.ReadCloser, error)
	// Delete deletes an object.
	// It should error if the object doesn't exist or we don't have sufficient
	// permission to delete it.
	Delete(name string) error
	// Walk calls `fn` with the names of objects which can be found under `prefix`.
	Walk(prefix string, fn func(name string) error) error
	// Exsits checks if a given object already exists
	Exists(name string) bool
	// IsRetryable determines if an operation should be retried given an error
	IsRetryable(err error) bool
	// IsNotExist returns true if err is a non existence error
	IsNotExist(err error) bool
	// IsIgnorable returns true if the error can be ignored
	IsIgnorable(err error) bool
}

Client is an interface to object storage.

func NewAmazonClient

func NewAmazonClient(bucket string, id string, secret string, token string,
	region string) (Client, error)

NewAmazonClient creates an amazon client with the following credentials:

bucket - S3 bucket name
id     - AWS access key id
secret - AWS secret access key
token  - AWS access token
region - AWS region

func NewGoogleClient

func NewGoogleClient(ctx context.Context, bucket string) (Client, error)

NewGoogleClient creates a google client with the given bucket name.

type RetryError

type RetryError struct {
	Err               string
	TimeTillNextRetry string
	BytesProcessed    int
}

RetryError is used to log retry attempts.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL