...

Package models

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

Overview ▾

type BlobDescription

Describes a blob

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

func NewBlobDescription

func NewBlobDescription(name string, offset int64, length int64) BlobDescription

func (*BlobDescription) Length

func (d *BlobDescription) Length() int64

func (*BlobDescription) Name

func (d *BlobDescription) Name() string

func (*BlobDescription) Offset

func (d *BlobDescription) Offset() int64

type GetObject

type GetObject struct {
    Name           string
    Ranges         []models.Range
    ChannelBuilder WriteChannelBuilder
}

type PutObject

type PutObject struct {
    PutObject      models.Ds3PutObject
    ChannelBuilder ReadChannelBuilder
    Metadata       map[string]string
}

func (*PutObject) WithMetaData

func (putObject *PutObject) WithMetaData(key string, values ...string) interface{}

type ReadChannelBuilder

type ReadChannelBuilder interface {
    IsChannelAvailable(offset int64) bool
    GetChannel(offset int64) (io.ReadCloser, error)
    OnDone(reader io.ReadCloser) // Determines what a given blob does when it finishes transferring
}

type WriteChannelBuilder

type WriteChannelBuilder interface {
    IsChannelAvailable(offset int64) bool
    GetChannel(offset int64) (io.WriteCloser, error)
    OnDone(writer io.WriteCloser) // Determines what a given blob does when it finishes transferring
}