Documentation ¶
Index ¶
- Variables
- type ClientConstructor
- type MaxSizeSource
- type ObjectStorage
- type Option
- func WithClientConstructor(v ClientConstructor) Option
- func WithContainerSource(v container.Source) Option
- func WithKeyStorage(v *objutil.KeyStorage) Option
- func WithLogger(l *logger.Logger) Option
- func WithMaxSizeSource(v MaxSizeSource) Option
- func WithNetmapKeys(v netmap.AnnouncedKeys) Option
- func WithNetworkMapSource(v netmap.Source) Option
- func WithNetworkState(v netmap.State) Option
- func WithObjectStorage(v ObjectStorage) Option
- func WithWorkerPools(remote, local util.WorkerPool) Option
- type PutChunkPrm
- type PutInitPrm
- type PutResponse
- type RemotePutPrm
- type RemoteSender
- type Service
- type Streamer
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrExceedingMaxSize is returned when payload size is greater than the limit. ErrExceedingMaxSize = errors.New("payload size is greater than the limit") // ErrWrongPayloadSize is returned when chunk payload size is greater than the length declared in header. ErrWrongPayloadSize = errors.New("wrong payload size") )
Functions ¶
This section is empty.
Types ¶
type ClientConstructor ¶
type ClientConstructor interface {
Get(client.NodeInfo) (client.MultiAddressClient, error)
}
type MaxSizeSource ¶
type MaxSizeSource interface { // MaxObjectSize returns maximum payload size // of physically stored object in system. // // Must return 0 if value can not be obtained. MaxObjectSize() uint64 }
type ObjectStorage ¶
type ObjectStorage interface { // Put must save passed object // and return any appeared error. Put(*object.Object) error // Delete must delete passed objects // and return any appeared error. Delete(ctx context.Context, tombstone oid.Address, toDelete []oid.ID) error // Lock must lock passed objects // and return any appeared error. Lock(locker oid.Address, toLock []oid.ID) error // IsLocked must clarify object's lock status. IsLocked(oid.Address) (bool, error) }
ObjectStorage is an object storage interface.
type Option ¶
type Option func(*cfg)
func WithClientConstructor ¶
func WithClientConstructor(v ClientConstructor) Option
func WithContainerSource ¶
func WithKeyStorage ¶
func WithKeyStorage(v *objutil.KeyStorage) Option
func WithLogger ¶
func WithMaxSizeSource ¶
func WithMaxSizeSource(v MaxSizeSource) Option
func WithNetmapKeys ¶
func WithNetmapKeys(v netmap.AnnouncedKeys) Option
func WithNetworkMapSource ¶
func WithNetworkState ¶
func WithObjectStorage ¶
func WithObjectStorage(v ObjectStorage) Option
func WithWorkerPools ¶
func WithWorkerPools(remote, local util.WorkerPool) Option
type PutChunkPrm ¶
type PutChunkPrm struct {
// contains filtered or unexported fields
}
func (*PutChunkPrm) WithChunk ¶
func (p *PutChunkPrm) WithChunk(v []byte) *PutChunkPrm
type PutInitPrm ¶
type PutInitPrm struct {
// contains filtered or unexported fields
}
func (*PutInitPrm) WithCommonPrm ¶
func (p *PutInitPrm) WithCommonPrm(v *util.CommonPrm) *PutInitPrm
func (*PutInitPrm) WithCopyNumber ¶
func (p *PutInitPrm) WithCopyNumber(v uint32) *PutInitPrm
func (*PutInitPrm) WithObject ¶
func (p *PutInitPrm) WithObject(v *object.Object) *PutInitPrm
func (*PutInitPrm) WithRelay ¶
func (p *PutInitPrm) WithRelay(f func(client.NodeInfo, client.MultiAddressClient) error) *PutInitPrm
type PutResponse ¶
type PutResponse struct {
// contains filtered or unexported fields
}
func (*PutResponse) ObjectID ¶
func (r *PutResponse) ObjectID() oid.ID
type RemotePutPrm ¶
type RemotePutPrm struct {
// contains filtered or unexported fields
}
RemotePutPrm groups remote put operation parameters.
func (*RemotePutPrm) WithNodeInfo ¶
func (p *RemotePutPrm) WithNodeInfo(v netmap.NodeInfo) *RemotePutPrm
WithNodeInfo sets information about the remote node.
func (*RemotePutPrm) WithObject ¶
func (p *RemotePutPrm) WithObject(v *object.Object) *RemotePutPrm
WithObject sets transferred object.
type RemoteSender ¶
type RemoteSender struct {
// contains filtered or unexported fields
}
RemoteSender represents utility for sending an object to a remote host.
func NewRemoteSender ¶
func NewRemoteSender(keyStorage *util.KeyStorage, cons ClientConstructor) *RemoteSender
NewRemoteSender creates, initializes and returns new RemoteSender instance.
func (*RemoteSender) PutObject ¶
func (s *RemoteSender) PutObject(ctx context.Context, p *RemotePutPrm) error
PutObject sends object to remote node.
type Streamer ¶
type Streamer struct {
// contains filtered or unexported fields
}
func (*Streamer) Init ¶
func (p *Streamer) Init(prm *PutInitPrm) error
func (*Streamer) MaxObjectSize ¶
MaxObjectSize returns maximum payload size for the streaming session.
Must be called after the successful Init.
Source Files ¶
Click to show internal directories.
Click to hide internal directories.