Versions in this module Expand all Collapse all v0 v0.0.1 Oct 14, 2021 Changes in this version + var CfgAutoPingInterval uint8 = 15 + var CfgBadModeMultiplier float32 = 2.5 + var CfgBadRTTPunishTimeout int64 = 10 * 1000 + var CfgChainSkipTimeout int64 = 3000 + var CfgCongestionPacketReduction uint8 = 4 + var CfgCongestionThreshold int64 = 250 + var CfgDefaultCongestionRequiredTime int64 = 4 * 1000 + var CfgGoodRTTRewardInterval int64 = 10 * 1000 + var CfgMTU = 1024 + var CfgMaxCongestionRequiredTime int64 = 60 * 1000 + var CfgMaxPacketChainLength byte = 255 + var CfgMaxPacketResends int64 = 15 + var CfgMaxPing int16 = 150 + var CfgMaxSendReceiveQueueSize = 100 + var CfgMaxSkippedPackets sequenceNumber = 25 + var CfgParallelListenerCount = 4 + var CfgProtocolID byte = 231 + var CfgRTTSmoothFactor float32 = 0.1 + var CfgReackTimeout int64 = 50 + var CfgResendTimeout int64 = 50 + var CfgSendRemoveTimeout int64 = 1600 + var CfgSequenceBufferSize sequenceNumber = 200 + var CfgTimeoutThreshold time.Duration = 4000 + var CfgUpdateLoopTimeout time.Duration = 10 + var StatConnects uint64 + var StatDeniedConnects uint64 + var StatDisconnects uint64 + var StatGoRoutinePanics uint64 + var StatProcessedBytes uint64 + var StatReceivedBytes uint64 + var StatRunningGoRoutines uint64 + var StatSendBytes uint64 + var StatTimeouts uint64 + type Channel byte + const ChannelReliable + const ChannelReliableOrdered + const ChannelUnreliable + const ChannelUnreliableOrdered + type Client struct + PacketHandler PacketCallback + Server *Connection + ServerConnect ConnectionCallback + ServerDisconnect ConnectionCallback + ServerTimeout ConnectionCallback + func NewClient(server string) *Client + func (c *Client) Connect() + func (c *Client) ConnectWithData(data []byte) + func (c *Client) Disconnect() + type Connection struct + Addr *net.UDPAddr + Conn *net.UDPConn + IsServer bool + func (c *Connection) Del(key byte) + func (c *Connection) Disconnect(packet []byte) + func (c *Connection) Get(key byte) (interface{}, bool) + func (c *Connection) GetFallback(key byte, fallback interface{}) interface{} + func (c *Connection) GetPing() int16 + func (c *Connection) SendOnChannel(channel Channel, data []byte) + func (c *Connection) SendReliable(data []byte) + func (c *Connection) SendReliableOrdered(data []byte) + func (c *Connection) SendUnreliable(data []byte) + func (c *Connection) SendUnreliableOrdered(data []byte) + func (c *Connection) Set(key byte, value interface{}) + func (c *Connection) TrySet(key byte, value interface{}) bool + type ConnectionCallback func(*Connection, []byte) + type PacketCallback func(*Connection, []byte, Channel) + type ReadFunc func(*net.UDPConn, []byte) (int, *net.UDPAddr, bool) + type Serializer struct + func NewSerializer() *Serializer + func NewSerializerFor(buffer []byte) *Serializer + func (s *Serializer) Bytes() []byte + func (s *Serializer) Read(data interface{}) error + func (s *Serializer) ReadPanic(data interface{}) + func (s *Serializer) RemainingSize() int + func (s *Serializer) Write(data interface{}) error + type Server struct + ClientConnect ConnectionCallback + ClientDisconnect ConnectionCallback + ClientTimeout ConnectionCallback + ClientValidation ValidationCallback + PacketHandler PacketCallback + func NewServer(address string) *Server + func (s *Server) Start() + func (s *Server) Stop() + type ValidationCallback func(*net.UDPAddr, []byte) bool + type WriteFunc func(*net.UDPConn, *net.UDPAddr, []byte)