Compare commits

..

1 commit

Author SHA1 Message Date
3ed8039f60
[#9999] rpc: Fix mem leak again
All checks were successful
DCO / DCO (pull_request) Successful in 27s
Code generation / Generate proto (pull_request) Successful in 33s
Tests and linters / Tests (pull_request) Successful in 43s
Tests and linters / Lint (pull_request) Successful in 1m51s
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-30 10:58:47 +03:00

View file

@ -2,7 +2,6 @@ package client
import (
"context"
"sync"
"time"
"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/api/rpc/message"
@ -11,12 +10,11 @@ import (
type streamWrapper struct {
grpc.ClientStream
timeout time.Duration
cancel context.CancelFunc
closeSendOnce sync.Once
timeout time.Duration
cancel context.CancelFunc
}
func (w *streamWrapper) ReadMessage(m message.Message) error {
func (w streamWrapper) ReadMessage(m message.Message) error {
// Can be optimized: we can create blank message here.
gm := m.ToGRPCMessage()
@ -30,20 +28,14 @@ func (w *streamWrapper) ReadMessage(m message.Message) error {
return m.FromGRPCMessage(gm)
}
func (w *streamWrapper) WriteMessage(m message.Message) error {
func (w streamWrapper) WriteMessage(m message.Message) error {
return w.withTimeout(func() error {
return w.ClientStream.SendMsg(m.ToGRPCMessage())
})
}
func (w *streamWrapper) closeSend() error {
var err error
w.closeSendOnce.Do(
func() {
err = w.withTimeout(w.ClientStream.CloseSend)
},
)
return err
return w.withTimeout(w.ClientStream.CloseSend)
}
func (w *streamWrapper) Close() error {