[#425] services: Define service interfaces that was removed from API lib

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2021-03-15 13:53:08 +03:00 committed by Alex Vanin
parent e6f945e61d
commit 718a2fad26
29 changed files with 107 additions and 42 deletions

View file

@ -34,7 +34,7 @@ type (
putStreamBasicChecker struct {
source *Service
next object.PutObjectStreamer
next objectSvc.PutObjectStream
*eACLCfg
}
@ -174,7 +174,7 @@ func (b Service) Get(request *object.GetRequest, stream objectSvc.GetObjectStrea
})
}
func (b Service) Put(ctx context.Context) (object.PutObjectStreamer, error) {
func (b Service) Put(ctx context.Context) (objectSvc.PutObjectStream, error) {
streamer, err := b.next.Put(ctx)
return putStreamBasicChecker{

View file

@ -21,7 +21,7 @@ type (
}
putStreamMetric struct {
stream object.PutObjectStreamer
stream PutObjectStream
metrics MetricRegister
start time.Time
}
@ -69,7 +69,7 @@ func (m MetricCollector) Get(req *object.GetRequest, stream GetObjectStream) err
})
}
func (m MetricCollector) Put(ctx context.Context) (object.PutObjectStreamer, error) {
func (m MetricCollector) Put(ctx context.Context) (PutObjectStream, error) {
t := time.Now()
defer func() {
m.metrics.IncPutReqCounter()

View file

@ -3,7 +3,7 @@ package putsvc
import (
"context"
objectV2 "github.com/nspcc-dev/neofs-api-go/v2/object"
"github.com/nspcc-dev/neofs-node/pkg/services/object"
putsvc "github.com/nspcc-dev/neofs-node/pkg/services/object/put"
"github.com/pkg/errors"
)
@ -34,7 +34,7 @@ func NewService(opts ...Option) *Service {
}
// Put calls internal service and returns v2 object streamer.
func (s *Service) Put(ctx context.Context) (objectV2.PutObjectStreamer, error) {
func (s *Service) Put(ctx context.Context) (object.PutObjectStream, error) {
stream, err := s.svc.Put(ctx)
if err != nil {
return nil, errors.Wrapf(err, "(%T) could not open object put stream", s)

View file

@ -72,7 +72,7 @@ func (s *putStreamResponser) CloseAndRecv() (*object.PutResponse, error) {
return r.(*object.PutResponse), nil
}
func (s *ResponseService) Put(ctx context.Context) (object.PutObjectStreamer, error) {
func (s *ResponseService) Put(ctx context.Context) (PutObjectStream, error) {
stream, err := s.svc.Put(ctx)
if err != nil {
return nil, errors.Wrap(err, "could not create Put object streamer")

View file

@ -25,11 +25,17 @@ type SearchStream interface {
Send(*object.SearchResponse) error
}
// PutObjectStream is an interface of NeoFS API v2 compatible client's object streamer.
type PutObjectStream interface {
Send(*object.PutRequest) error
CloseAndRecv() (*object.PutResponse, error)
}
// ServiceServer is an interface of utility
// serving v2 Object service.
type ServiceServer interface {
Get(*object.GetRequest, GetObjectStream) error
Put(context.Context) (object.PutObjectStreamer, error)
Put(context.Context) (PutObjectStream, error)
Head(context.Context, *object.HeadRequest) (*object.HeadResponse, error)
Search(*object.SearchRequest, SearchStream) error
Delete(context.Context, *object.DeleteRequest) (*object.DeleteResponse, error)

View file

@ -80,7 +80,7 @@ func (s *putStreamSigner) CloseAndRecv() (*object.PutResponse, error) {
return r.(*object.PutResponse), nil
}
func (s *SignService) Put(ctx context.Context) (object.PutObjectStreamer, error) {
func (s *SignService) Put(ctx context.Context) (PutObjectStream, error) {
stream, err := s.svc.Put(ctx)
if err != nil {
return nil, errors.Wrap(err, "could not create Put object streamer")

View file

@ -87,7 +87,7 @@ func (c *TransportSplitter) Get(req *object.GetRequest, stream GetObjectStream)
})
}
func (c TransportSplitter) Put(ctx context.Context) (object.PutObjectStreamer, error) {
func (c TransportSplitter) Put(ctx context.Context) (PutObjectStream, error) {
return c.next.Put(ctx)
}