github.com/ipfans/trojan-go@v0.11.0/tunnel/shadowsocks/conn.go (about)

     1  package shadowsocks
     2  
     3  import (
     4  	"net"
     5  
     6  	"github.com/ipfans/trojan-go/tunnel"
     7  )
     8  
     9  type Conn struct {
    10  	aeadConn net.Conn
    11  	tunnel.Conn
    12  }
    13  
    14  func (c *Conn) Read(p []byte) (n int, err error) {
    15  	return c.aeadConn.Read(p)
    16  }
    17  
    18  func (c *Conn) Write(p []byte) (n int, err error) {
    19  	return c.aeadConn.Write(p)
    20  }
    21  
    22  func (c *Conn) Close() error {
    23  	c.Conn.Close()
    24  	return c.aeadConn.Close()
    25  }
    26  
    27  func (c *Conn) Metadata() *tunnel.Metadata {
    28  	return c.Conn.Metadata()
    29  }