vppn/peer/interfaces.go
2025-01-31 21:32:47 +01:00

36 lines
666 B
Go

package peer
import (
"net"
"net/netip"
)
type udpReader interface {
ReadFromUDPAddrPort(b []byte) (n int, addr netip.AddrPort, err error)
}
type udpWriter interface {
WriteToUDPAddrPort([]byte, netip.AddrPort) (int, error)
}
type marshaller interface {
Marshal([]byte) []byte
}
type dataPacketSender interface {
SendDataPacket(pkt []byte, peer *RemotePeer)
RelayDataPacket(pkt []byte, peer, relay *RemotePeer)
}
type encryptedPacketSender interface {
SendEncryptedDataPacket(pkt []byte, peer *RemotePeer)
}
type controlMsgHandler interface {
HandleControlMsg(pkt any)
}
type mcUDPWriter interface {
WriteToUDP([]byte, *net.UDPAddr) (int, error)
}