putsvc

package
v0.36.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 12, 2023 License: GPL-3.0 Imports: 27 Imported by: 0

Documentation

Index

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 WithContainerSource(v container.Source) Option

func WithKeyStorage

func WithKeyStorage(v *objutil.KeyStorage) Option

func WithLogger

func WithLogger(l *logger.Logger) Option

func WithMaxSizeSource

func WithMaxSizeSource(v MaxSizeSource) Option

func WithNetmapKeys

func WithNetmapKeys(v netmap.AnnouncedKeys) Option

func WithNetworkMapSource

func WithNetworkMapSource(v netmap.Source) Option

func WithNetworkState

func WithNetworkState(v netmap.State) Option

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

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 Service

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

func NewService

func NewService(opts ...Option) *Service

func (*Service) Put

func (p *Service) Put() (*Streamer, error)

type Streamer

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

func (*Streamer) Close

func (p *Streamer) Close(ctx context.Context) (*PutResponse, error)

func (*Streamer) Init

func (p *Streamer) Init(prm *PutInitPrm) error

func (*Streamer) MaxObjectSize

func (p *Streamer) MaxObjectSize() uint64

MaxObjectSize returns maximum payload size for the streaming session.

Must be called after the successful Init.

func (*Streamer) SendChunk

func (p *Streamer) SendChunk(ctx context.Context, prm *PutChunkPrm) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL