orchard/internal/netconncancel/netconncancel.go

25 lines
343 B
Go

package netconncancel
import (
"context"
"net"
)
type NetConnCancel struct {
Cancel context.CancelFunc
net.Conn
}
func New(netConn net.Conn, cancel context.CancelFunc) *NetConnCancel {
return &NetConnCancel{
Cancel: cancel,
Conn: netConn,
}
}
func (ncc *NetConnCancel) Close() error {
ncc.Cancel()
return ncc.Conn.Close()
}