Selaa lähdekoodia

net: add WrapReadWriteCloserConn

fatedier 7 vuotta sitten
vanhempi
commit
716ec281f6
1 muutettua tiedostoa jossa 35 lisäystä ja 1 poistoa
  1. 35 1
      utils/net/conn.go

+ 35 - 1
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