fix: sing listener panic
This commit is contained in:
@ -252,6 +252,23 @@ type PacketAdapter interface {
|
||||
Metadata() *Metadata
|
||||
}
|
||||
|
||||
type packetAdapter struct {
|
||||
UDPPacket
|
||||
metadata *Metadata
|
||||
}
|
||||
|
||||
// Metadata returns destination metadata
|
||||
func (s *packetAdapter) Metadata() *Metadata {
|
||||
return s.metadata
|
||||
}
|
||||
|
||||
func NewPacketAdapter(packet UDPPacket, metadata *Metadata) PacketAdapter {
|
||||
return &packetAdapter{
|
||||
packet,
|
||||
metadata,
|
||||
}
|
||||
}
|
||||
|
||||
type WriteBack interface {
|
||||
WriteBack(b []byte, addr net.Addr) (n int, err error)
|
||||
}
|
||||
|
@ -1,10 +1,12 @@
|
||||
package constant
|
||||
|
||||
import "net"
|
||||
|
||||
type Tunnel interface {
|
||||
// HandleTCPConn will handle a tcp connection blocking
|
||||
HandleTCPConn(connCtx ConnContext)
|
||||
HandleTCPConn(conn net.Conn, metadata *Metadata)
|
||||
// HandleUDPPacket will handle a udp packet nonblocking
|
||||
HandleUDPPacket(packet PacketAdapter)
|
||||
HandleUDPPacket(packet UDPPacket, metadata *Metadata)
|
||||
// NatTable return nat table
|
||||
NatTable() NatTable
|
||||
}
|
||||
|
Reference in New Issue
Block a user