object

package
v0.39.1 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2023 License: GPL-3.0 Imports: 9 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Common added in v0.33.0

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

Common is an Object API ServiceServer which encapsulates logic spread to all object operations.

If underlying NodeState.IsMaintenance returns true, all operations are immediately failed with apistatus.NodeUnderMaintenance.

func (*Common) Delete added in v0.33.0

func (*Common) Get added in v0.33.0

func (x *Common) Get(req *objectV2.GetRequest, stream GetObjectStream) error

func (*Common) GetRange added in v0.33.0

func (x *Common) GetRange(req *objectV2.GetRangeRequest, stream GetObjectRangeStream) error

func (*Common) GetRangeHash added in v0.33.0

func (*Common) Head added in v0.33.0

func (*Common) Init added in v0.33.0

func (x *Common) Init(state NodeState, nextHandler ServiceServer)

Init initializes the Common instance.

func (*Common) Put added in v0.33.0

func (x *Common) Put(ctx context.Context) (PutObjectStream, error)

func (*Common) Search added in v0.33.0

func (x *Common) Search(req *objectV2.SearchRequest, stream SearchStream) error

type GetObjectRangeStream added in v0.13.0

type GetObjectRangeStream interface {
	util.ServerStream
	Send(*object.GetRangeResponse) error
}

GetObjectRangeStream is an interface of NeoFS API v2 compatible payload range streamer.

type GetObjectStream added in v0.13.0

type GetObjectStream interface {
	util.ServerStream
	Send(*object.GetResponse) error
}

GetObjectStream is an interface of NeoFS API v2 compatible object streamer.

type MetricCollector added in v0.17.0

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

func NewMetricCollector added in v0.17.0

func NewMetricCollector(next ServiceServer, register MetricRegister) *MetricCollector

func (MetricCollector) Delete added in v0.17.0

func (MetricCollector) Get added in v0.17.0

func (m MetricCollector) Get(req *object.GetRequest, stream GetObjectStream) (err error)

func (MetricCollector) GetRange added in v0.17.0

func (MetricCollector) GetRangeHash added in v0.17.0

func (MetricCollector) Head added in v0.17.0

func (MetricCollector) Put added in v0.17.0

func (MetricCollector) Search added in v0.17.0

func (m MetricCollector) Search(req *object.SearchRequest, stream SearchStream) error

type MetricRegister added in v0.17.0

type MetricRegister interface {
	IncGetReqCounter(success bool)
	IncPutReqCounter(success bool)
	IncHeadReqCounter(success bool)
	IncSearchReqCounter(success bool)
	IncDeleteReqCounter(success bool)
	IncRangeReqCounter(success bool)
	IncRangeHashReqCounter(success bool)

	AddGetReqDuration(time.Duration)
	AddPutReqDuration(time.Duration)
	AddHeadReqDuration(time.Duration)
	AddSearchReqDuration(time.Duration)
	AddDeleteReqDuration(time.Duration)
	AddRangeReqDuration(time.Duration)
	AddRangeHashReqDuration(time.Duration)

	AddPutPayload(int)
	AddGetPayload(int)
}

type NodeState added in v0.33.0

type NodeState interface {
	// IsMaintenance checks if node is under maintenance. Node MUST NOT serve
	// local object operations. Node MUST respond with apistatus.NodeUnderMaintenance
	// error if IsMaintenance returns true.
	IsMaintenance() bool
}

NodeState is storage node state processed by Object service.

type PutObjectStream added in v0.17.0

type PutObjectStream interface {
	Send(*object.PutRequest) error
	CloseAndRecv() (*object.PutResponse, error)
}

PutObjectStream is an interface of NeoFS API v2 compatible client's object streamer.

type ResponseService added in v0.13.0

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

func NewResponseService

func NewResponseService(objSvc ServiceServer, respSvc *response.Service) *ResponseService

NewResponseService returns object service instance that passes internal service call to response service.

func (*ResponseService) Delete added in v0.13.0

func (*ResponseService) Get added in v0.13.0

func (s *ResponseService) Get(req *object.GetRequest, stream GetObjectStream) error

func (*ResponseService) GetRange added in v0.13.0

func (*ResponseService) GetRangeHash added in v0.13.0

func (*ResponseService) Head added in v0.13.0

func (*ResponseService) Put added in v0.13.0

func (*ResponseService) Search added in v0.13.0

func (s *ResponseService) Search(req *object.SearchRequest, stream SearchStream) error

type SearchStream added in v0.13.0

type SearchStream interface {
	util.ServerStream
	Send(*object.SearchResponse) error
}

SearchStream is an interface of NeoFS API v2 compatible search streamer.

type ServiceServer added in v0.13.0

ServiceServer is an interface of utility serving v2 Object service.

type SignService added in v0.13.0

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

func NewSignService

func NewSignService(key *ecdsa.PrivateKey, svc ServiceServer) *SignService

func (*SignService) Delete added in v0.13.0

func (*SignService) Get added in v0.13.0

func (s *SignService) Get(req *object.GetRequest, stream GetObjectStream) error

func (*SignService) GetRange added in v0.13.0

func (s *SignService) GetRange(req *object.GetRangeRequest, stream GetObjectRangeStream) error

func (*SignService) GetRangeHash added in v0.13.0

func (*SignService) Head added in v0.13.0

func (*SignService) Put added in v0.13.0

func (*SignService) Search added in v0.13.0

func (s *SignService) Search(req *object.SearchRequest, stream SearchStream) error

type TransportSplitter

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

func NewTransportSplitter

func NewTransportSplitter(size, amount uint64, next ServiceServer) *TransportSplitter

func (TransportSplitter) Delete

func (*TransportSplitter) Get

func (TransportSplitter) GetRange

func (TransportSplitter) GetRangeHash

func (TransportSplitter) Head

func (TransportSplitter) Put

func (TransportSplitter) Search

func (c TransportSplitter) Search(req *object.SearchRequest, stream SearchStream) error

Directories

Path Synopsis
acl
v2
v2
get
v2
client
Package internal provides functionality for NeoFS Node Object service communication with NeoFS network.
Package internal provides functionality for NeoFS Node Object service communication with NeoFS network.
put
v2
v2

Jump to

Keyboard shortcuts

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