forked from TrueCloudLab/frostfs-node
[#199] putsvc: Refactor put object
Resolve containedctx linter for streamer and remote target Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
parent
cecea8053a
commit
27bdddc48f
24 changed files with 171 additions and 125 deletions
|
@ -1,6 +1,7 @@
|
|||
package putsvc
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/object"
|
||||
|
@ -32,7 +33,7 @@ type sizes struct {
|
|||
writtenPayload uint64 // sum size of already cached chunks
|
||||
}
|
||||
|
||||
func (s *streamer) Send(req *object.PutRequest) (err error) {
|
||||
func (s *streamer) Send(ctx context.Context, req *object.PutRequest) (err error) {
|
||||
switch v := req.GetBody().GetObjectPart().(type) {
|
||||
case *object.PutObjectPartInit:
|
||||
var initPrm *putsvc.PutInitPrm
|
||||
|
@ -71,7 +72,7 @@ func (s *streamer) Send(req *object.PutRequest) (err error) {
|
|||
}
|
||||
}
|
||||
|
||||
if err = s.stream.SendChunk(toChunkPrm(v)); err != nil {
|
||||
if err = s.stream.SendChunk(ctx, toChunkPrm(v)); err != nil {
|
||||
err = fmt.Errorf("(%T) could not send payload chunk: %w", s, err)
|
||||
}
|
||||
|
||||
|
@ -103,7 +104,7 @@ func (s *streamer) Send(req *object.PutRequest) (err error) {
|
|||
return signature.SignServiceMessage(key, req)
|
||||
}
|
||||
|
||||
func (s *streamer) CloseAndRecv() (*object.PutResponse, error) {
|
||||
func (s *streamer) CloseAndRecv(ctx context.Context) (*object.PutResponse, error) {
|
||||
if s.saveChunks {
|
||||
// check payload size correctness
|
||||
if s.writtenPayload != s.payloadSz {
|
||||
|
@ -111,7 +112,7 @@ func (s *streamer) CloseAndRecv() (*object.PutResponse, error) {
|
|||
}
|
||||
}
|
||||
|
||||
resp, err := s.stream.Close()
|
||||
resp, err := s.stream.Close(ctx)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("(%T) could not object put stream: %w", s, err)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue