...

Package helpers

import "github.com/SpectraLogic/ds3_go_sdk/helpers"
Overview
Index
Subdirectories

Overview ▾

Constants

const MaxQueueSize uint = 100
const MinQueueSize uint = 1

Variables

var MinUploadSize int64 = 10485760

type BlobDescriptionQueue

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

func NewBlobDescriptionQueue() BlobDescriptionQueue

type BlobStrategy

Strategy for how to blob objects, used both in writing and reading blob strategies

type BlobStrategy interface {
    // contains filtered or unexported methods
}

type Consumer

type Consumer interface {
    // contains filtered or unexported methods
}

type HelperImpl

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

func (*HelperImpl) GetObjects

func (helper *HelperImpl) GetObjects(bucketName string, objects []helperModels.GetObject, strategy ReadTransferStrategy) error

func (*HelperImpl) PutObjects

func (helper *HelperImpl) PutObjects(bucketName string, objects []helperModels.PutObject, strategy WriteTransferStrategy) error

type HelperInterface

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

func NewHelpers(client *ds3.Client) HelperInterface

type IoReaderWithSizeDecorator

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

func NewIoReaderWithSizeDecorator(reader io.Reader, size int64) *IoReaderWithSizeDecorator

func (*IoReaderWithSizeDecorator) Read

func (sizedReader *IoReaderWithSizeDecorator) Read(bytes []byte) (int, error)

func (*IoReaderWithSizeDecorator) Size

func (sizedReader *IoReaderWithSizeDecorator) Size() (int64, error)

type Producer

type Producer interface {
    // contains filtered or unexported methods
}

type ReadBlobStrategy

Strategy for how to blob objects for writing

type ReadBlobStrategy interface {
    BlobStrategy
}

type ReadBulkJobOptions

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

type ReadTransferStrategy struct {
    BlobStrategy ReadBlobStrategy
    Options      ReadBulkJobOptions
}

type SimpleBlobStrategy

type SimpleBlobStrategy struct {
    Delay                  time.Duration
    MaxConcurrentTransfers uint
    MaxWaitingTransfers    uint
}

type Transceiver

type Transceiver interface {
    // contains filtered or unexported methods
}

type TransferOperation

type TransferOperation func() // transfer operation that sends/gets stuff from BP

type WriteBlobStrategy

Strategy for how to blob objects for writing

type WriteBlobStrategy interface {
    BlobStrategy
}

type WriteBulkJobOptions

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
}

type WriteTransferStrategy

Defines strategy for how to perform write transfers

type WriteTransferStrategy struct {
    BlobStrategy WriteBlobStrategy
    Options      WriteBulkJobOptions
}

Subdirectories

Name Synopsis
..
channels
models
ranges