Compare commits
1 commit
7f7539c895
...
3ed8039f60
Author | SHA1 | Date | |
---|---|---|---|
3ed8039f60 |
1 changed files with 5 additions and 13 deletions
|
@ -2,7 +2,6 @@ package client
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"sync"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/api/rpc/message"
|
"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/api/rpc/message"
|
||||||
|
@ -11,12 +10,11 @@ import (
|
||||||
|
|
||||||
type streamWrapper struct {
|
type streamWrapper struct {
|
||||||
grpc.ClientStream
|
grpc.ClientStream
|
||||||
timeout time.Duration
|
timeout time.Duration
|
||||||
cancel context.CancelFunc
|
cancel context.CancelFunc
|
||||||
closeSendOnce sync.Once
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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.
|
// Can be optimized: we can create blank message here.
|
||||||
gm := m.ToGRPCMessage()
|
gm := m.ToGRPCMessage()
|
||||||
|
|
||||||
|
@ -30,20 +28,14 @@ func (w *streamWrapper) ReadMessage(m message.Message) error {
|
||||||
return m.FromGRPCMessage(gm)
|
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.withTimeout(func() error {
|
||||||
return w.ClientStream.SendMsg(m.ToGRPCMessage())
|
return w.ClientStream.SendMsg(m.ToGRPCMessage())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *streamWrapper) closeSend() error {
|
func (w *streamWrapper) closeSend() error {
|
||||||
var err error
|
return w.withTimeout(w.ClientStream.CloseSend)
|
||||||
w.closeSendOnce.Do(
|
|
||||||
func() {
|
|
||||||
err = w.withTimeout(w.ClientStream.CloseSend)
|
|
||||||
},
|
|
||||||
)
|
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *streamWrapper) Close() error {
|
func (w *streamWrapper) Close() error {
|
||||||
|
|
Loading…
Add table
Reference in a new issue