Documentation
¶
Index ¶
- Constants
- Variables
- func LimitRuneReader(r io.Reader, n int64) io.Reader
- type Duration
- type HandshakeV2
- type HandshakeV3
- type HandshakeV4
- type Packet
- type PacketDecoder
- type PacketDecoderV2
- type PacketDecoderV3
- type PacketDecoderV4
- type PacketEncoder
- type PacketEncoderV2
- type PacketEncoderV3
- type PacketEncoderV4
- 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 ( ErrUnexpectedPacketType erro.StringF = "unexpected packet type %T" ErrUnexpectedPacketData erro.StringF = "unexpected packet data %T" ErrUnexpectedHandshake erro.StringF = "expected %s, found %T" ErrDecodeHandshakeFailed erro.StringF = "failed to decode handshake:: %w" ErrEncodeHandshakeFailed erro.StringF = "failed to encode handshake:: %w" ErrDecodePacketFailed erro.StringF = "failed to decode packet:: %w" ErrEncodePacketFailed erro.StringF = "failed to encode packet:: %w" ErrDecodePayloadFailed erro.StringF = "failed to decode payload:: %w" ErrEncodePayloadFailed erro.StringF = "failed to encode payload:: %w" EOR erro.StringF = "End Of Record: %w" )
View Source
const RecordSeparator = 0x1e
Variables ¶
View Source
var NewPacketDecoderV2 _packetDecoderV2 = func(r io.Reader) *PacketDecoderV2 { return &PacketDecoderV2{read: rw.NewReader(r)} }
View Source
var NewPacketDecoderV3 _packetDecoderV3 = func(r io.Reader) *PacketDecoderV3 { return &PacketDecoderV3{PacketDecoderV2: &PacketDecoderV2{read: rw.NewReader(r)}} }
View Source
var NewPacketDecoderV4 _packetDecoderV4 = func(r io.Reader) *PacketDecoderV4 { return &PacketDecoderV4{PacketDecoderV3: &PacketDecoderV3{PacketDecoderV2: &PacketDecoderV2{read: rw.NewReader(r)}}} }
View Source
var NewPacketEncoderV2 _packetEncoderV2 = func(w io.Writer) *PacketEncoderV2 { return &PacketEncoderV2{write: rw.NewWriter(w)} }
View Source
var NewPacketEncoderV3 _packetEncoderV3 = func(w io.Writer) *PacketEncoderV3 { return &PacketEncoderV3{PacketEncoderV2: &PacketEncoderV2{write: rw.NewWriter(w)}} }
View Source
var NewPacketEncoderV4 _packetEncoderV4 = func(w io.Writer) *PacketEncoderV4 { return &PacketEncoderV4{&PacketEncoderV3{PacketEncoderV2: &PacketEncoderV2{write: rw.NewWriter(w)}}} }
View Source
var NewPayloadDecoderV2 _payloadDecoderV2 = func(r io.Reader) *PayloadDecoderV2 { return &PayloadDecoderV2{read: &reader{Reader: rw.NewReader(r)}} }
View Source
var NewPayloadDecoderV3 _payloadDecoderV3 = func(r io.Reader) *PayloadDecoderV3 { return &PayloadDecoderV3{PayloadDecoderV2: &PayloadDecoderV2{read: &reader{Reader: rw.NewReader(r)}}} }
View Source
var NewPayloadDecoderV4 _payloadDecoderV4 = func(r io.Reader) *PayloadDecoderV4 { return &PayloadDecoderV4{ PayloadDecoderV3: &PayloadDecoderV3{ PayloadDecoderV2: &PayloadDecoderV2{read: &reader{Reader: rw.NewReader(r)}}, }, } }
View Source
var NewPayloadEncoderV2 _payloadEncoderV2 = func(w io.Writer) *PayloadEncoderV2 { return &PayloadEncoderV2{write: &writer{Writer: rw.NewWriter(w)}} }
View Source
var NewPayloadEncoderV3 _payloadEncoderV3 = func(w io.Writer) *PayloadEncoderV3 { return &PayloadEncoderV3{PayloadEncoderV2: &PayloadEncoderV2{write: &writer{Writer: rw.NewWriter(w)}}} }
View Source
var NewPayloadEncoderV4 _payloadEncoderV4 = func(w io.Writer) *PayloadEncoderV4 { return &PayloadEncoderV4{ PayloadEncoderV3: &PayloadEncoderV3{ PayloadEncoderV2: &PayloadEncoderV2{write: &writer{Writer: rw.NewWriter(w)}}, }, } }
Functions ¶
Types ¶
type HandshakeV2 ¶
type HandshakeV2 struct { SID string `json:"sid"` Upgrades []string `json:"upgrades"` PingTimeout Duration `json:"pingTimeout"` }
func (*HandshakeV2) Len ¶
func (h *HandshakeV2) Len() int
type HandshakeV3 ¶
type HandshakeV3 struct { *HandshakeV2 PingInterval Duration `json:"pingInterval"` }
func (*HandshakeV3) Len ¶
func (h *HandshakeV3) Len() int
type HandshakeV4 ¶
type HandshakeV4 struct { *HandshakeV3 MaxPayload int `json:"maxPayload"` }
func (*HandshakeV4) Len ¶
func (h *HandshakeV4) Len() int
type Packet ¶
type Packet struct { T PacketType `json:"type"` D interface{} `json:"data"` // contains filtered or unexported fields }
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 PacketDecoderV4 ¶
type PacketDecoderV4 struct{ *PacketDecoderV3 }
func (*PacketDecoderV4) Decode ¶
func (dec *PacketDecoderV4) Decode(packet *PacketV4) 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 PacketEncoderV4 ¶
type PacketEncoderV4 struct{ *PacketEncoderV3 }
func (*PacketEncoderV4) Encode ¶
func (enc *PacketEncoderV4) Encode(packet PacketV4) (err error)
type PacketReader ¶
type PacketType ¶
type PacketType byte
const ( OpenPacket PacketType = iota ClosePacket PingPacket PongPacket MessagePacket UpgradePacket NoopPacket )
const 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(payload *PayloadV2) error
type PayloadDecoderV3 ¶
type PayloadDecoderV3 struct { *PayloadDecoderV2 // contains filtered or unexported fields }
func (*PayloadDecoderV3) Decode ¶
func (dec *PayloadDecoderV3) Decode(payload *PayloadV3) error
type PayloadDecoderV4 ¶
type PayloadDecoderV4 struct{ *PayloadDecoderV3 }
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 // contains filtered or unexported fields }
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
func (PayloadV2) PayloadVal ¶
type PayloadV3 ¶
type PayloadV3 []PacketV3
PayloadV3 is defined: https://github.com/socketio/engine.io-protocol/tree/v3
func (*PayloadV3) PayloadRef ¶
func (PayloadV3) PayloadVal ¶
type PayloadV4 ¶
type PayloadV4 []PacketV4
func (*PayloadV4) PayloadRef ¶
func (PayloadV4) PayloadVal ¶
type PayloadVal ¶
type PayloadVal interface{ PayloadVal() Payload }
type PayloadWriter ¶
type PayloadWriter interface{ WritePayload(PayloadVal) error }
Source Files
¶
- error.go
- handshake.v2.go
- handshake.v3.go
- handshake.v4.go
- packet.go
- packet.v1.go
- packet.v2.codec.go
- packet.v2.go
- packet.v3.codec.go
- packet.v3.go
- packet.v4.codec.go
- packet.v4.go
- payload.go
- payload.v1.go
- payload.v2.codec.go
- payload.v2.go
- payload.v2.rw.go
- payload.v3.codec.go
- payload.v3.go
- payload.v3.rw.go
- payload.v4.codec.go
- payload.v4.go
- payload.v4.rw.go
- utility.go
- utility.json.go
Click to show internal directories.
Click to hide internal directories.