forwarder

package
v0.0.0-...-acbd0ec Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 7, 2023 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrInvalidAddr = errors.New("invalid addr")
View Source
var ErrInvalidAddrPort = errors.New("invalid addr or port")
View Source
var ErrInvalidPort = errors.New("invalid port")
View Source
var ErrNoPayload = errors.New("no Payload")
View Source
var ErrOwnerIsOrigin = errors.New("owner is origin")

Functions

This section is empty.

Types

type AddrCodec

type AddrCodec interface {
	Encode(addr netip.AddrPort, b []byte) int8
	Decode(b []byte) netip.AddrPort
}

type CipherAddrCodec

type CipherAddrCodec struct {
	Cipher cipher.Stream
	// contains filtered or unexported fields
}

func (*CipherAddrCodec) Decode

func (c *CipherAddrCodec) Decode(b []byte) netip.AddrPort

func (*CipherAddrCodec) Encode

func (c *CipherAddrCodec) Encode(addr netip.AddrPort, b []byte) int8

type Handler

type Handler struct {
	AddrCodec AddrCodec
	Default   netip.AddrPort
	Debug     bool
}

func (*Handler) Handle

func (h *Handler) Handle(msg *Msg) error

func (*Handler) Serve

func (h *Handler) Serve(conn *net.UDPConn) (err error)

type Msg

type Msg struct {
	Data   []byte
	Origin netip.AddrPort
}

func Pack

func Pack(codec AddrCodec, owner *netip.AddrPort, payload []byte) Msg

func (*Msg) Unpack

func (msg *Msg) Unpack(codec AddrCodec) (*netip.AddrPort, []byte)

type RawAddrCodec

type RawAddrCodec struct{}

func (RawAddrCodec) Decode

func (RawAddrCodec) Decode(b []byte) netip.AddrPort

func (RawAddrCodec) Encode

func (RawAddrCodec) Encode(addr netip.AddrPort, b []byte) int8

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL