packets

package
v0.0.0-...-6c09e66 Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PacketNBHeaderLength  = 5
	MaskNB                = 0x80
	MaskNBCompressSupport = 0x1
	MaskNBEncrypt         = 0x1 << 1
	MaskNBCompressed      = 0x1 << 2
	MaskNBReserved        = 0x1 << 3
	MaskNBFeature         = MaskNBReserved | MaskNB
)

packet struct { mask -> bit (1) flag -> bit (7) protocol-type -> bit (4) protocol-ver -> bit (4) final-packet-size -> bit (24) compress-data -> memory (final-packet-size - sizeof(packet-header)) }

View Source
const (
	PacketNBOriginHeaderLength = 2 + 2 + 4 + 4 + 4
	MaskOriginCompress         = 0x1
	MaskOriginEncrypt          = 0x1 << 1
	MaskOriginImData           = 0x1 << 2
	MaskOriginCompressSupport  = 0x1 << 3
	MaskOriginJson             = 0x1 << 4
)
View Source
const HttpHeaderMinLength = 16
View Source
const PacketMaxLength = 0xFFFFFF
View Source
const WSDataMinLength = 2
View Source
const WSHeaderMinLength = 16
View Source
const WSMagicStr = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
View Source
const WSRespFmt = "" /* 143-byte string literal not displayed */
View Source
const WSRespFmtWithoutProtocol = "HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: %s\r\n\r\n"

Variables

View Source
var PacketFormatHTTP = &packetFormatHTTP
View Source
var PacketFormatNB = &packetFormatNB
View Source
var PacketFormatNBOrigin = &packetFormatNBOrigin
View Source
var PacketFormatWS = &packetFormatWS

Functions

func RegisterWebSocketOrigin

func RegisterWebSocketOrigin(ori string)

Types

type Packet

type Packet struct {
	Encrypted       bool
	Compressed      bool
	ProtocolType    byte
	ProtocolVer     byte
	CompressSupport bool
	Raw             []byte
}

type PacketFormat

type PacketFormat struct {
	Tag      string
	Priority int
	UnixNeed bool
	Parser   PacketParser
	Packager PacketPackager
}

type PacketPackager

type PacketPackager interface {
	Package(*Packet, []byte) (error, []byte)
}

type PacketPackagerHTTP

type PacketPackagerHTTP struct {
}

func (PacketPackagerHTTP) Package

func (receiver PacketPackagerHTTP) Package(pck *Packet, raw []byte) (error, []byte)

type PacketPackagerNB

type PacketPackagerNB struct {
}

func (PacketPackagerNB) Package

func (receiver PacketPackagerNB) Package(pck *Packet, raw []byte) (error, []byte)

type PacketPackagerNBOrigin

type PacketPackagerNBOrigin struct {
}

func (PacketPackagerNBOrigin) Package

func (receiver PacketPackagerNBOrigin) Package(pck *Packet, raw []byte) (error, []byte)

type PacketPackagerWS

type PacketPackagerWS struct {
}

func (PacketPackagerWS) Package

func (receiver PacketPackagerWS) Package(pck *Packet, raw []byte) (error, []byte)

type PacketParser

type PacketParser interface {
	TryParse([]byte) (error, bool)
	Prepare([]byte) (error, int, byte, byte, []byte)
	Pop([]byte) (error, *Packet, int)
}

type PacketParserHTTP

type PacketParserHTTP struct {
}

func (PacketParserHTTP) Pop

func (receiver PacketParserHTTP) Pop(in []byte) (error, *Packet, int)

func (PacketParserHTTP) Prepare

func (receiver PacketParserHTTP) Prepare(in []byte) (error, int, byte, byte, []byte)

func (PacketParserHTTP) TryParse

func (receiver PacketParserHTTP) TryParse(in []byte) (error, bool)

type PacketParserNB

type PacketParserNB struct {
}

func (PacketParserNB) Pop

func (receiver PacketParserNB) Pop(in []byte) (error, *Packet, int)

func (PacketParserNB) Prepare

func (receiver PacketParserNB) Prepare(in []byte) (error, int, byte, byte, []byte)

func (PacketParserNB) TryParse

func (receiver PacketParserNB) TryParse(in []byte) (error, bool)

type PacketParserNBOrigin

type PacketParserNBOrigin struct {
}

func (PacketParserNBOrigin) Pop

func (receiver PacketParserNBOrigin) Pop(in []byte) (error, *Packet, int)

func (PacketParserNBOrigin) Prepare

func (receiver PacketParserNBOrigin) Prepare(in []byte) (error, int, byte, byte, []byte)

func (PacketParserNBOrigin) TryParse

func (receiver PacketParserNBOrigin) TryParse(in []byte) (error, bool)

type PacketParserWS

type PacketParserWS struct {
}

func (PacketParserWS) Pop

func (receiver PacketParserWS) Pop(in []byte) (error, *Packet, int)

func (PacketParserWS) Prepare

func (receiver PacketParserWS) Prepare(in []byte) (error, int, byte, byte, []byte)

func (PacketParserWS) TryParse

func (receiver PacketParserWS) TryParse(in []byte) (error, bool)

Jump to

Keyboard shortcuts

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