forked from TrueCloudLab/frostfs-node
[#1307] go.mod: Bump frostfs-sdk-go/frostfs-api-go/v2 versions
* Also, resolve dependencies and conflicts for object service by creating stub for `Patch` method. Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
This commit is contained in:
parent
ec1509de4e
commit
a4a1c3f18b
15 changed files with 345 additions and 11 deletions
|
@ -24,6 +24,48 @@ func New(c objectSvc.ServiceServer) *Server {
|
|||
}
|
||||
}
|
||||
|
||||
// Patch opens internal Object patch stream and feeds it by the data read from gRPC stream.
|
||||
func (s *Server) Patch(gStream objectGRPC.ObjectService_PatchServer) error {
|
||||
stream, err := s.srv.Patch()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for {
|
||||
req, err := gStream.Recv()
|
||||
if err != nil {
|
||||
if errors.Is(err, io.EOF) {
|
||||
resp, err := stream.CloseAndRecv(gStream.Context())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return gStream.SendAndClose(resp.ToGRPCMessage().(*objectGRPC.PatchResponse))
|
||||
}
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
patchReq := new(object.PatchRequest)
|
||||
if err := patchReq.FromGRPCMessage(req); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := stream.Send(gStream.Context(), patchReq); err != nil {
|
||||
if errors.Is(err, util.ErrAbortStream) {
|
||||
resp, err := stream.CloseAndRecv(gStream.Context())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return gStream.SendAndClose(resp.ToGRPCMessage().(*objectGRPC.PatchResponse))
|
||||
}
|
||||
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Put opens internal Object service Put stream and overtakes data from gRPC stream to it.
|
||||
func (s *Server) Put(gStream objectGRPC.ObjectService_PutServer) error {
|
||||
stream, err := s.srv.Put()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue