diff --git a/caddy/shadowsocks_handler.go b/caddy/shadowsocks_handler.go index e2690001..ea818be5 100644 --- a/caddy/shadowsocks_handler.go +++ b/caddy/shadowsocks_handler.go @@ -120,7 +120,7 @@ func (h *ShadowsocksHandler) Provision(ctx caddy.Context) error { func (h *ShadowsocksHandler) Handle(cx *layer4.Connection, _ layer4.Handler) error { switch conn := cx.Conn.(type) { case transport.StreamConn: - h.service.HandleStream(cx.Context, &l4StreamConn{Connection: cx, wrappedStreamConn: conn}) + h.service.HandleStream(cx.Context, conn) case net.Conn: n, err := cx.Read(h.buffer) if err != nil { @@ -133,18 +133,3 @@ func (h *ShadowsocksHandler) Handle(cx *layer4.Connection, _ layer4.Handler) err } return nil } - -type l4StreamConn struct { - *layer4.Connection - wrappedStreamConn transport.StreamConn -} - -var _ transport.StreamConn = (*l4StreamConn)(nil) - -func (c l4StreamConn) CloseRead() error { - return c.wrappedStreamConn.CloseRead() -} - -func (c l4StreamConn) CloseWrite() error { - return c.wrappedStreamConn.CloseWrite() -}