diff --git a/utils/net/conn.go b/utils/net/conn.go index ed995c87..c085fe71 100644 --- a/utils/net/conn.go +++ b/utils/net/conn.go @@ -15,7 +15,9 @@ package net import ( + "io" "net" + "time" "github.com/fatedier/frp/utils/log" ) @@ -32,12 +34,44 @@ type WrapLogConn struct { } func WrapConn(c net.Conn) Conn { - return WrapLogConn{ + return &WrapLogConn{ Conn: c, Logger: log.NewPrefixLogger(""), } } +type WrapReadWriteCloserConn struct { + io.ReadWriteCloser + log.Logger +} + +func (conn *WrapReadWriteCloserConn) LocalAddr() net.Addr { + return nil +} + +func (conn *WrapReadWriteCloserConn) RemoteAddr() net.Addr { + return nil +} + +func (conn *WrapReadWriteCloserConn) SetDeadline(t time.Time) error { + return nil +} + +func (conn *WrapReadWriteCloserConn) SetReadDeadline(t time.Time) error { + return nil +} + +func (conn *WrapReadWriteCloserConn) SetWriteDeadline(t time.Time) error { + return nil +} + +func WrapReadWriteCloserToConn(rwc io.ReadWriteCloser) Conn { + return &WrapReadWriteCloserConn{ + ReadWriteCloser: rwc, + Logger: log.NewPrefixLogger(""), + } +} + type Listener interface { Accept() (Conn, error) Close() error