From 58b939cf480b8a3f73923ee37f1be6de46c3b99c Mon Sep 17 00:00:00 2001 From: threatexpert Date: Mon, 17 Feb 2025 13:17:58 +0800 Subject: [PATCH] Add CloseWrite() method to rwcConn in conn_rwc.go --- share/cnet/conn_rwc.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/share/cnet/conn_rwc.go b/share/cnet/conn_rwc.go index 55749d11..babe1b41 100644 --- a/share/cnet/conn_rwc.go +++ b/share/cnet/conn_rwc.go @@ -11,7 +11,11 @@ type rwcConn struct { buff []byte } -//NewRWCConn converts a RWC into a net.Conn +type closeWriter interface { + CloseWrite() error +} + +// NewRWCConn converts a RWC into a net.Conn func NewRWCConn(rwc io.ReadWriteCloser) net.Conn { c := rwcConn{ ReadWriteCloser: rwc, @@ -46,3 +50,10 @@ func (c *rwcConn) SetReadDeadline(t time.Time) error { func (c *rwcConn) SetWriteDeadline(t time.Time) error { return nil //no-op } + +func (c *rwcConn) CloseWrite() error { + if cw, ok := c.ReadWriteCloser.(closeWriter); ok { + return cw.CloseWrite() + } + return nil +}