getsvc

package
v0.37.0-rc.1 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2023 License: GPL-3.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ChunkWriter

type ChunkWriter interface {
	WriteChunk(context.Context, []byte) error
}

ChunkWriter is an interface of target component to write payload chunk.

type HeadPrm

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

HeadPrm groups parameters of Head service call.

func (*HeadPrm) SetChunkWriter added in v0.37.0

func (p *HeadPrm) SetChunkWriter(w ChunkWriter)

SetChunkWriter sets target component to write the object payload range.

func (*HeadPrm) SetCommonParameters

func (p *HeadPrm) SetCommonParameters(common *util.CommonPrm)

SetCommonParameters sets common parameters of the operation.

func (*HeadPrm) SetHeaderWriter

func (p *HeadPrm) SetHeaderWriter(w HeaderWriter)

SetHeaderWriter sets target component to write the object header.

func (*HeadPrm) SetRequestForwarder

func (p *HeadPrm) SetRequestForwarder(f RequestForwarder)

func (*HeadPrm) WithAddress

func (p *HeadPrm) WithAddress(addr oid.Address)

WithAddress sets object address to be read.

func (*HeadPrm) WithCachedSignerKey

func (p *HeadPrm) WithCachedSignerKey(signerKey *ecdsa.PrivateKey)

WithCachedSignerKey sets optional key for all further requests.

func (*HeadPrm) WithRawFlag

func (p *HeadPrm) WithRawFlag(raw bool)

WithRawFlag sets flag of raw reading.

type HeaderWriter

type HeaderWriter interface {
	WriteHeader(context.Context, *objectSDK.Object) error
}

HeaderWriter is an interface of target component to write object header.

type ObjectWriter

type ObjectWriter interface {
	HeaderWriter
	ChunkWriter
}

ObjectWriter is an interface of target component to write object.

type Option

type Option func(*Service)

Option is a Service's constructor option.

func WithLogger

func WithLogger(l *logger.Logger) Option

WithLogger returns option to specify Get service's logger.

type Prm

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

Prm groups parameters of Get service call.

func (*Prm) SetChunkWriter added in v0.37.0

func (p *Prm) SetChunkWriter(w ChunkWriter)

SetChunkWriter sets target component to write the object payload range.

func (*Prm) SetCommonParameters

func (p *Prm) SetCommonParameters(common *util.CommonPrm)

SetCommonParameters sets common parameters of the operation.

func (*Prm) SetHeaderWriter added in v0.37.0

func (p *Prm) SetHeaderWriter(w HeaderWriter)

SetHeaderWriter sets target component to write the object header.

func (*Prm) SetObjectWriter

func (p *Prm) SetObjectWriter(w ObjectWriter)

SetObjectWriter sets target component to write the object.

func (*Prm) SetRequestForwarder

func (p *Prm) SetRequestForwarder(f RequestForwarder)

func (*Prm) WithAddress

func (p *Prm) WithAddress(addr oid.Address)

WithAddress sets object address to be read.

func (*Prm) WithCachedSignerKey

func (p *Prm) WithCachedSignerKey(signerKey *ecdsa.PrivateKey)

WithCachedSignerKey sets optional key for all further requests.

func (*Prm) WithRawFlag

func (p *Prm) WithRawFlag(raw bool)

WithRawFlag sets flag of raw reading.

type RangeHashPrm

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

RangeHashPrm groups parameters of GetRange service call.

func (*RangeHashPrm) SetChunkWriter added in v0.37.0

func (p *RangeHashPrm) SetChunkWriter(w ChunkWriter)

SetChunkWriter sets target component to write the object payload range.

func (*RangeHashPrm) SetCommonParameters

func (p *RangeHashPrm) SetCommonParameters(common *util.CommonPrm)

SetCommonParameters sets common parameters of the operation.

func (*RangeHashPrm) SetHashGenerator

func (p *RangeHashPrm) SetHashGenerator(v func() hash.Hash)

SetHashGenerator sets constructor of hashing algorithm.

func (*RangeHashPrm) SetHeaderWriter added in v0.37.0

func (p *RangeHashPrm) SetHeaderWriter(w HeaderWriter)

SetHeaderWriter sets target component to write the object header.

func (*RangeHashPrm) SetRangeList

func (p *RangeHashPrm) SetRangeList(rngs []objectSDK.Range)

SetRangeList sets a list of object payload ranges.

func (*RangeHashPrm) SetRequestForwarder

func (p *RangeHashPrm) SetRequestForwarder(f RequestForwarder)

func (*RangeHashPrm) SetSalt

func (p *RangeHashPrm) SetSalt(salt []byte)

SetSalt sets binary salt to XOR object's payload ranges before hash calculation.

func (*RangeHashPrm) WithAddress

func (p *RangeHashPrm) WithAddress(addr oid.Address)

WithAddress sets object address to be read.

func (*RangeHashPrm) WithCachedSignerKey

func (p *RangeHashPrm) WithCachedSignerKey(signerKey *ecdsa.PrivateKey)

WithCachedSignerKey sets optional key for all further requests.

func (*RangeHashPrm) WithRawFlag

func (p *RangeHashPrm) WithRawFlag(raw bool)

WithRawFlag sets flag of raw reading.

type RangeHashRes

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

func (*RangeHashRes) Hashes

func (r *RangeHashRes) Hashes() [][]byte

type RangePrm

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

RangePrm groups parameters of GetRange service call.

func (*RangePrm) SetChunkWriter

func (p *RangePrm) SetChunkWriter(w ChunkWriter)

SetChunkWriter sets target component to write the object payload range.

func (*RangePrm) SetCommonParameters

func (p *RangePrm) SetCommonParameters(common *util.CommonPrm)

SetCommonParameters sets common parameters of the operation.

func (*RangePrm) SetHeaderWriter added in v0.37.0

func (p *RangePrm) SetHeaderWriter(w HeaderWriter)

SetHeaderWriter sets target component to write the object header.

func (*RangePrm) SetRange

func (p *RangePrm) SetRange(rng *objectSDK.Range)

SetRange sets range of the requested payload data.

func (*RangePrm) SetRequestForwarder

func (p *RangePrm) SetRequestForwarder(f RequestForwarder)

func (RangePrm) Validate

func (p RangePrm) Validate() error

Validate pre-validates `OBJECTRANGE` request's parameters content without access to the requested object's payload.

func (*RangePrm) WithAddress

func (p *RangePrm) WithAddress(addr oid.Address)

WithAddress sets object address to be read.

func (*RangePrm) WithCachedSignerKey

func (p *RangePrm) WithCachedSignerKey(signerKey *ecdsa.PrivateKey)

WithCachedSignerKey sets optional key for all further requests.

func (*RangePrm) WithRawFlag

func (p *RangePrm) WithRawFlag(raw bool)

WithRawFlag sets flag of raw reading.

type RemoteRequestParams added in v0.37.0

type RemoteRequestParams struct {
	Epoch        uint64
	TTL          uint32
	PrivateKey   *ecdsa.PrivateKey
	SessionToken *session.Object
	BearerToken  *bearer.Token
	XHeaders     []string
	IsRaw        bool
}

type RequestParameters added in v0.37.0

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

func (*RequestParameters) SetChunkWriter added in v0.37.0

func (p *RequestParameters) SetChunkWriter(w ChunkWriter)

SetChunkWriter sets target component to write the object payload range.

func (*RequestParameters) SetCommonParameters added in v0.37.0

func (p *RequestParameters) SetCommonParameters(common *util.CommonPrm)

SetCommonParameters sets common parameters of the operation.

func (*RequestParameters) SetHeaderWriter added in v0.37.0

func (p *RequestParameters) SetHeaderWriter(w HeaderWriter)

SetHeaderWriter sets target component to write the object header.

func (*RequestParameters) SetRequestForwarder added in v0.37.0

func (p *RequestParameters) SetRequestForwarder(f RequestForwarder)

func (*RequestParameters) WithAddress added in v0.37.0

func (p *RequestParameters) WithAddress(addr oid.Address)

WithAddress sets object address to be read.

func (*RequestParameters) WithCachedSignerKey added in v0.37.0

func (p *RequestParameters) WithCachedSignerKey(signerKey *ecdsa.PrivateKey)

WithCachedSignerKey sets optional key for all further requests.

func (*RequestParameters) WithRawFlag added in v0.37.0

func (p *RequestParameters) WithRawFlag(raw bool)

WithRawFlag sets flag of raw reading.

type Service

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

Service utility serving requests of Object.Get service.

func New

func New(
	ks keyStorage,
	es epochSource,
	e localStorageEngine,
	tg traverserGenerator,
	cc clientConstructor,
	opts ...Option,
) *Service

New creates, initializes and returns utility serving Object.Get service requests.

func (*Service) Get

func (s *Service) Get(ctx context.Context, prm Prm) error

Get serves a request to get an object by address, and returns Streamer instance.

func (*Service) GetRange

func (s *Service) GetRange(ctx context.Context, prm RangePrm) error

GetRange serves a request to get an object by address, and returns Streamer instance.

func (*Service) GetRangeHash

func (s *Service) GetRangeHash(ctx context.Context, prm RangeHashPrm) (*RangeHashRes, error)

func (*Service) Head

func (s *Service) Head(ctx context.Context, prm HeadPrm) error

Head reads object header from container.

Returns ErrNotFound if the header was not received for the call. Returns SplitInfoError if object is virtual and raw flag is set.

type SimpleObjectWriter

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

func NewSimpleObjectWriter

func NewSimpleObjectWriter() *SimpleObjectWriter

func (*SimpleObjectWriter) Object

func (s *SimpleObjectWriter) Object() *objectSDK.Object

func (*SimpleObjectWriter) WriteChunk

func (s *SimpleObjectWriter) WriteChunk(_ context.Context, p []byte) error

func (*SimpleObjectWriter) WriteHeader

func (s *SimpleObjectWriter) WriteHeader(_ context.Context, obj *objectSDK.Object) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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