object

package
v0.0.0-...-79ba347 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Common

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

func (*Common) Get

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

func (*Common) GetRange

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

func (*Common) GetRangeHash

func (*Common) Head

func (*Common) Init

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

Init initializes the Common instance.

func (*Common) Put

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

func (*Common) Search

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

type GetObjectRangeStream

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

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

type GetObjectStream

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

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

type MetricCollector

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

func NewMetricCollector

func NewMetricCollector(next ServiceServer, register MetricRegister, enabled bool) *MetricCollector

func (MetricCollector) Delete

func (*MetricCollector) Disable

func (m *MetricCollector) Disable()

func (*MetricCollector) Enable

func (m *MetricCollector) Enable()

func (MetricCollector) Get

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

func (MetricCollector) GetRange

func (MetricCollector) GetRangeHash

func (MetricCollector) Head

func (MetricCollector) Put

func (MetricCollector) Search

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

type MetricRegister

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

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

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

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

type ResponseService

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

func (*ResponseService) Get

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

func (*ResponseService) GetRange

func (*ResponseService) GetRangeHash

func (*ResponseService) Head

func (*ResponseService) Put

func (*ResponseService) Search

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

type SearchStream

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

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

type SignService

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

func NewSignService

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

func (*SignService) Delete

func (*SignService) Get

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

func (*SignService) GetRange

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

func (*SignService) GetRangeHash

func (*SignService) Head

func (*SignService) Put

func (*SignService) Search

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 FrostFS Node Object service communication with FrostFS network.
Package internal provides functionality for FrostFS Node Object service communication with FrostFS network.
put
v2
v2

Jump to

Keyboard shortcuts

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