udp

package
v3.37.2+incompatible Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2018 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ReadUDPMsg added in v1.24.4

func ReadUDPMsg(conn *net.UDPConn, payload []byte, oob []byte) (int, int, int, *net.UDPAddr, error)

func RetrieveOriginalDest added in v1.24.3

func RetrieveOriginalDest(oob []byte) net.Destination

func SetOriginalDestOptions added in v1.24.3

func SetOriginalDestOptions(fd int) error

func TransmitSocket

func TransmitSocket(src net.Addr, dst net.Addr) (net.Conn, error)

Currently, Only IPv4 Forge is supported

Types

type Dispatcher

type Dispatcher struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewDispatcher

func NewDispatcher(dispatcher core.Dispatcher, callback ResponseCallback) *Dispatcher

func (*Dispatcher) Dispatch

func (v *Dispatcher) Dispatch(ctx context.Context, destination net.Destination, payload *buf.Buffer)

func (*Dispatcher) RemoveRay

func (v *Dispatcher) RemoveRay(dest net.Destination)

type Hub

type Hub struct {
	// contains filtered or unexported fields
}

func ListenUDP

func ListenUDP(address net.Address, port net.Port, options ...HubOption) (*Hub, error)

func (*Hub) Addr

func (h *Hub) Addr() net.Addr

Addr implements net.Listener.

func (*Hub) Close

func (h *Hub) Close() error

Close implements net.Listener.

func (*Hub) Receive

func (h *Hub) Receive() <-chan *Payload

func (*Hub) WriteTo

func (h *Hub) WriteTo(payload []byte, dest net.Destination) (int, error)

type HubOption

type HubOption func(h *Hub)

func HubCapacity

func HubCapacity(cap int) HubOption

func HubReceiveOriginalDestination

func HubReceiveOriginalDestination(r bool) HubOption

type Payload

type Payload struct {
	Content             *buf.Buffer
	Source              net.Destination
	OriginalDestination net.Destination
}

Payload represents a single UDP payload.

type ResponseCallback

type ResponseCallback func(ctx context.Context, payload *buf.Buffer)

Jump to

Keyboard shortcuts

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