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 *zap.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 ¶ added in v0.18.0
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 ¶ added in v0.28.0
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(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 ¶ added in v0.18.0
func WithClientConstructor(v ClientConstructor) Option
func WithContainerSource ¶
func WithKeyStorage ¶
func WithKeyStorage(v *objutil.KeyStorage) Option
func WithLogger ¶ added in v0.12.1
func WithMaxSizeSource ¶
func WithMaxSizeSource(v MaxSizeSource) Option
func WithNetmapKeys ¶ added in v0.25.0
func WithNetmapKeys(v netmap.AnnouncedKeys) Option
func WithNetworkMapSource ¶
func WithNetworkState ¶
func WithObjectStorage ¶ added in v0.28.0
func WithObjectStorage(v ObjectStorage) Option
func WithWorkerPools ¶ added in v0.25.0
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) WithCopiesNumber ¶ added in v0.39.0
func (p *PutInitPrm) WithCopiesNumber(cn uint32) *PutInitPrm
func (*PutInitPrm) WithObject ¶
func (p *PutInitPrm) WithObject(v *object.Object) *PutInitPrm
func (*PutInitPrm) WithRelay ¶ added in v0.21.0
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 ¶ added in v0.26.0
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) Close ¶
func (p *Streamer) Close() (*PutResponse, error)
func (*Streamer) Init ¶
func (p *Streamer) Init(prm *PutInitPrm) error
func (*Streamer) MaxObjectSize ¶ added in v0.21.1
MaxObjectSize returns maximum payload size for the streaming session.
Must be called after the successful Init.
func (*Streamer) SendChunk ¶
func (p *Streamer) SendChunk(prm *PutChunkPrm) error
Source Files ¶
Click to show internal directories.
Click to hide internal directories.