Documentation ¶
Index ¶
- Constants
- Variables
- func Btol(p []byte) uint64
- func CopyRuneN(dst io.Writer, src io.Reader, n int64) (written int64, err error)
- func Ltob(u uint64) []byte
- type Duration
- type HandshakeV2
- type HandshakeV3
- type Packet
- type PacketDecoder
- type PacketDecoderV2
- type PacketDecoderV3
- type PacketEncoder
- type PacketEncoderV2
- type PacketEncoderV3
- type PacketReader
- type PacketRef
- type PacketType
- type PacketV2
- type PacketV3
- type PacketV4
- type PacketVal
- type PacketWriter
- type Payload
- type PayloadDecoder
- type PayloadDecoderV2
- type PayloadDecoderV3
- type PayloadDecoderV4
- type PayloadEncoder
- type PayloadEncoderV2
- type PayloadEncoderV3
- type PayloadEncoderV4
- type PayloadReader
- type PayloadRef
- type PayloadV2
- type PayloadV3
- type PayloadV4
- type PayloadVal
- type PayloadWriter
Constants ¶
View Source
const ( ErrInvalidRune errStr = "invalid rune" ErrInvalidPacketType errStr = "invalid packet type: %s" ErrInvalidPacketData errStr = "invalid packet data: %s" ErrInvalidHandshake errStr = "[%s] invalid handshake data" ErrHandshakeDecode errStr = "[%s] handshake decode: %w" ErrHandshakeEncode errStr = "[%s] handshake encode: %w" ErrPacketDecode errStr = "[%s] packet decode: %w" ErrPacketEncode errStr = "[%s] packet encode: %w" ErrPayloadDecode errStr = "[%s] payload decode: %w" ErrPayloadEncode errStr = "[%s] payload encode: %w" ErrBuffReaderRequired errStr = "please use a *bufio.Reader" )
View Source
const RecordSeparator = 0x1e
Variables ¶
View Source
var NewPacketDecoderV2 _packetDecoderV2 = func(r io.Reader) *PacketDecoderV2 { return &PacketDecoderV2{r: r} }
View Source
var NewPacketDecoderV3 _packetDecoderV3 = func(r io.Reader) *PacketDecoderV3 { return &PacketDecoderV3{PacketDecoderV2: &PacketDecoderV2{r: r}} }
View Source
var NewPacketEncoderV2 _packetEncoderV2 = func(w io.Writer) *PacketEncoderV2 { return &PacketEncoderV2{w: w} }
View Source
var NewPacketEncoderV3 _packetEncoderV3 = func(w io.Writer) *PacketEncoderV3 { return &PacketEncoderV3{PacketEncoderV2: &PacketEncoderV2{w: w}} }
View Source
var NewPayloadDecoderV2 _payloadDecoderV2 = func(r io.Reader) *PayloadDecoderV2 { return &PayloadDecoderV2{r: r} }
View Source
var NewPayloadDecoderV3 _payloadDecoderV3 = func(r io.Reader) *PayloadDecoderV3 { return &PayloadDecoderV3{PayloadDecoderV2: &PayloadDecoderV2{r: r}} }
View Source
var NewPayloadDecoderV4 _payloadDecoderV4 = func(r io.Reader) *PayloadDecoderV4 { dec := &PayloadDecoderV4{ PayloadDecoderV3: &PayloadDecoderV3{ PayloadDecoderV2: &PayloadDecoderV2{r: r}, }, } dec.buf = bufio.NewReader(dec.r) return dec }
View Source
var NewPayloadEncoderV2 _payloadEncoderV2 = func(w io.Writer) *PayloadEncoderV2 { return &PayloadEncoderV2{w: w} }
View Source
var NewPayloadEncoderV3 _payloadEncoderV3 = func(w io.Writer) *PayloadEncoderV3 { return &PayloadEncoderV3{PayloadEncoderV2: &PayloadEncoderV2{w: w}} }
View Source
var NewPayloadEncoderV4 _payloadEncoderV4 = func(w io.Writer) *PayloadEncoderV4 { return &PayloadEncoderV4{PayloadEncoderV3: &PayloadEncoderV3{ PayloadEncoderV2: &PayloadEncoderV2{w: w}, }} }
Functions ¶
Types ¶
type HandshakeV2 ¶
type HandshakeV3 ¶
type HandshakeV3 struct { HandshakeV2 PingInterval Duration `json:"pingInterval"` }
type Packet ¶
type Packet struct { T PacketType `json:"type"` D interface{} `json:"data"` }
type PacketDecoder ¶
type PacketDecoder interface{ From(io.Reader) PacketReader }
type PacketDecoderV2 ¶
type PacketDecoderV2 struct {
// contains filtered or unexported fields
}
func (*PacketDecoderV2) Decode ¶
func (dec *PacketDecoderV2) Decode(packet *PacketV2) error
type PacketDecoderV3 ¶
type PacketDecoderV3 struct{ *PacketDecoderV2 }
func (*PacketDecoderV3) Decode ¶
func (dec *PacketDecoderV3) Decode(packet *PacketV3) error
type PacketEncoder ¶
type PacketEncoder interface{ To(io.Writer) PacketWriter }
type PacketEncoderV2 ¶
type PacketEncoderV2 struct {
// contains filtered or unexported fields
}
func (*PacketEncoderV2) Encode ¶
func (enc *PacketEncoderV2) Encode(packet PacketV2) (err error)
type PacketEncoderV3 ¶
type PacketEncoderV3 struct{ *PacketEncoderV2 }
func (*PacketEncoderV3) Encode ¶
func (enc *PacketEncoderV3) Encode(packet PacketV3) (err error)
type PacketReader ¶
type PacketType ¶
type PacketType byte
const ( OpenPacket PacketType = iota ClosePacket PingPacket PongPacket MessagePacket UpgradePacket NoopPacket BinaryPacket PacketType = 255 )
func (PacketType) Bytes ¶
func (pt PacketType) Bytes() []byte
func (PacketType) String ¶
func (pt PacketType) String() string
type PacketV3 ¶
PacketV3 is defined: https://github.com/socketio/engine.io-protocol/tree/v3
type PacketWriter ¶
type PayloadDecoder ¶
type PayloadDecoder interface{ From(io.Reader) PayloadReader }
type PayloadDecoderV2 ¶
type PayloadDecoderV2 struct {
// contains filtered or unexported fields
}
func (*PayloadDecoderV2) Decode ¶
func (dec *PayloadDecoderV2) Decode(payV2 *PayloadV2) (err error)
type PayloadDecoderV3 ¶
type PayloadDecoderV3 struct { *PayloadDecoderV2 IsXHR2 bool }
func (*PayloadDecoderV3) Decode ¶
func (dec *PayloadDecoderV3) Decode(payV3 *PayloadV3) (err error)
type PayloadDecoderV4 ¶
type PayloadDecoderV4 struct { *PayloadDecoderV3 // contains filtered or unexported fields }
func (*PayloadDecoderV4) Decode ¶
func (dec *PayloadDecoderV4) Decode(payload *PayloadV4) (err error)
type PayloadEncoder ¶
type PayloadEncoder interface{ To(io.Writer) PayloadWriter }
type PayloadEncoderV2 ¶
type PayloadEncoderV2 struct {
// contains filtered or unexported fields
}
func (*PayloadEncoderV2) Encode ¶
func (enc *PayloadEncoderV2) Encode(payload PayloadV2) error
type PayloadEncoderV3 ¶
type PayloadEncoderV3 struct { *PayloadEncoderV2 IsXHR2 bool }
func (*PayloadEncoderV3) Encode ¶
func (enc *PayloadEncoderV3) Encode(payload PayloadV3) error
type PayloadEncoderV4 ¶
type PayloadEncoderV4 struct{ *PayloadEncoderV3 }
func (*PayloadEncoderV4) Encode ¶
func (enc *PayloadEncoderV4) Encode(payload PayloadV4) error
type PayloadReader ¶
type PayloadReader interface{ ReadPayload(PayloadRef) error }
type PayloadRef ¶
type PayloadRef interface{ PayloadRef() *Payload }
type PayloadV2 ¶
type PayloadV2 []PacketV2
PayloadV2 is defined: https://github.com/socketio/engine.io-protocol/tree/v2
type PayloadV3 ¶
type PayloadV3 []PacketV3
PayloadV3 is defined: https://github.com/socketio/engine.io-protocol/tree/v3
type PayloadV4 ¶
type PayloadV4 []PacketV4
PayloadV4 is defined: https://github.com/socketio/engine.io-protocol/tree/39c138a1b54567c18f26da09ad6c07499dc0f0a0
type PayloadVal ¶
type PayloadVal interface{ PayloadVal() Payload }
type PayloadWriter ¶
type PayloadWriter interface{ WritePayload(PayloadVal) error }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.