diff options
Diffstat (limited to 'internal/conn')
-rw-r--r-- | internal/conn/conn.go | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/internal/conn/conn.go b/internal/conn/conn.go index a1da6f1..0bf3ae6 100644 --- a/internal/conn/conn.go +++ b/internal/conn/conn.go @@ -32,9 +32,13 @@ func (c *Conn) Close() error { func (c *Conn) Send(ctx context.Context, data []byte, timeout time.Duration) error { if dl, ok := ctx.Deadline(); ok { - c.netConn.SetWriteDeadline(dl) + if err := c.netConn.SetWriteDeadline(dl); err != nil { + return err + } } else { - c.netConn.SetWriteDeadline(time.Now().Add(timeout)) + if err := c.netConn.SetWriteDeadline(time.Now().Add(timeout)); err != nil { + return err + } } _, err := c.netConn.Write(data) return err @@ -42,9 +46,13 @@ func (c *Conn) Send(ctx context.Context, data []byte, timeout time.Duration) err func (c *Conn) Receive(ctx context.Context, timeout time.Duration) ([]byte, error) { if dl, ok := ctx.Deadline(); ok { - c.netConn.SetReadDeadline(dl) + if err := c.netConn.SetReadDeadline(dl); err != nil { + return nil, err + } } else { - c.netConn.SetReadDeadline(time.Now().Add(timeout)) + if err := c.netConn.SetReadDeadline(time.Now().Add(timeout)); err != nil { + return nil, err + } } return io.ReadAll(c.netConn) } |