const MaxQueueSize uint = 100
const MinQueueSize uint = 1
var MinUploadSize int64 = 10485760
A queue that manages descriptions of blobs Used to track blobs that are waiting to be transferred
type BlobDescriptionQueue interface { Push(description *helperModels.BlobDescription) Pop() (*helperModels.BlobDescription, error) Size() int }
func NewBlobDescriptionQueue() BlobDescriptionQueue
Strategy for how to blob objects, used both in writing and reading blob strategies
type BlobStrategy interface {
// contains filtered or unexported methods
}
type Consumer interface {
// contains filtered or unexported methods
}
type HelperImpl struct {
// contains filtered or unexported fields
}
func (helper *HelperImpl) GetObjects(bucketName string, objects []helperModels.GetObject, strategy ReadTransferStrategy) error
func (helper *HelperImpl) PutObjects(bucketName string, objects []helperModels.PutObject, strategy WriteTransferStrategy) error
type HelperInterface interface { //ListObjectsFromBucket(bucketName string) []ds3Models.S3Object //ListObjectsFromDirectory(directoryName string) []helperModels.PutObject PutObjects(bucketName string, objects []helperModels.PutObject, strategy WriteTransferStrategy) error GetObjects(bucketName string, objects []helperModels.GetObject, strategy ReadTransferStrategy) error }
func NewHelpers(client *ds3.Client) HelperInterface
Defines a simple wrapper for an io.Reader and io.Closer which specifies size Implements ReaderWithSizeDecorator.
type IoReaderWithSizeDecorator struct {
// contains filtered or unexported fields
}
func NewIoReaderWithSizeDecorator(reader io.Reader, size int64) *IoReaderWithSizeDecorator
func (sizedReader *IoReaderWithSizeDecorator) Read(bytes []byte) (int, error)
func (sizedReader *IoReaderWithSizeDecorator) Size() (int64, error)
type Producer interface {
// contains filtered or unexported methods
}
Strategy for how to blob objects for writing
type ReadBlobStrategy interface { BlobStrategy }
Defines the options to use on the get bulk job
type ReadBulkJobOptions struct { Aggregating *bool ChunkClientProcessingOrderGuarantee models.JobChunkClientProcessingOrderGuarantee ImplicitJobIdResolution *bool // contains filtered or unexported fields }
type ReadTransferStrategy struct { BlobStrategy ReadBlobStrategy Options ReadBulkJobOptions }
type SimpleBlobStrategy struct { Delay time.Duration MaxConcurrentTransfers uint MaxWaitingTransfers uint }
type Transceiver interface {
// contains filtered or unexported methods
}
type TransferOperation func() // transfer operation that sends/gets stuff from BP
Strategy for how to blob objects for writing
type WriteBlobStrategy interface { BlobStrategy }
Defines the options to use on the put bulk job
type WriteBulkJobOptions struct { Aggregating *bool ImplicitJobIdResolution *bool MaxUploadSize *int64 MinimizeSpanningAcrossMedia *bool Priority *models.Priority VerifyAfterWrite *bool Name *string Force *bool IgnoreNamingConflicts *bool }
Defines strategy for how to perform write transfers
type WriteTransferStrategy struct { BlobStrategy WriteBlobStrategy Options WriteBulkJobOptions }