transport

package
v0.0.0-...-f89825b Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ResolveUDPAddr

func ResolveUDPAddr(addr string) (*net.UDPAddr, error)

Types

type Packet

type Packet struct {
	From   *net.UDPAddr
	Buffer bytes.Buffer
}

type TCPConfig

type TCPConfig struct {
	ListenAddr string

	TCPTimeout time.Duration

	Logger *slog.Logger
}

type TCPTransport

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

func NewTCPTransport

func NewTCPTransport(conf *TCPConfig, stopVar *atomic.Bool, handler func(net.Conn)) *TCPTransport

func (*TCPTransport) DialAndSendRawBytes

func (t *TCPTransport) DialAndSendRawBytes(to string, buf *bytes.Buffer) (net.Conn, error)

func (*TCPTransport) Listen

func (t *TCPTransport) Listen(wg *sync.WaitGroup)

type UDPConfig

type UDPConfig struct {
	HostAddr   *net.UDPAddr
	ListenAddr *net.UDPAddr

	Logger *slog.Logger

	UDPBuffer int

	PacketHandler func(*Packet)
}

type UDPTransport

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

func NewUDPTransport

func NewUDPTransport(config *UDPConfig, stop *atomic.Bool) *UDPTransport

func (*UDPTransport) GetPacket

func (u *UDPTransport) GetPacket() *Packet

func (*UDPTransport) Handle

func (u *UDPTransport) Handle()

Handle 接受packetCh中的packet,调用PacketHandler处理

func (*UDPTransport) Listen

func (u *UDPTransport) Listen(wg *sync.WaitGroup)

func (*UDPTransport) PutPacket

func (u *UDPTransport) PutPacket(p *Packet)

func (*UDPTransport) SendRaw

func (u *UDPTransport) SendRaw(b []byte, to *net.UDPAddr) error

Jump to

Keyboard shortcuts

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