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
}