protocol

package
v0.0.0-...-854a0e7 Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2019 License: GPL-3.0 Imports: 10 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Conn

type Conn interface {
	io.Closer
	Read() (*Packet, error)
	Write(*Packet) error
}

type Handshake

type Handshake struct {
	Sid          string   `json:"sid"`
	Upgrades     []string `json:"upgrades"`
	PingInterval int      `json:"pingInterval"`
	PingTimeout  int      `json:"pingTimeout"`
}

type Message

type Message struct {
	Type      MessageType
	Namespace string
	ID        int
	Event     string
	Payloads  []interface{}
}

func (*Message) Encode

func (m *Message) Encode() (*Packet, error)

type MessageType

type MessageType int
const (
	MessageTypeConnect MessageType = iota
	MessageTypeDisconnect
	MessageTypeEvent
	MessageTypeAck
	MessageTypeError
	MessageTypeBinaryEvent
	MessageTypeBinaryAck
)

https://github.com/socketio/socket.io-protocol#parsertypes

func (MessageType) String

func (t MessageType) String() string

type Packet

type Packet struct {
	Type PacketType
	// contains filtered or unexported fields
}

func NewPingPacket

func NewPingPacket() *Packet

func NewPongPacket

func NewPongPacket() *Packet

func (*Packet) DecodeHandshake

func (p *Packet) DecodeHandshake() (*Handshake, error)

func (*Packet) DecodeMessage

func (p *Packet) DecodeMessage() (*Message, error)

func (*Packet) Encode

func (p *Packet) Encode() ([]byte, error)

func (*Packet) String

func (p *Packet) String() string

type PacketType

type PacketType int
const (
	PacketTypeOpen PacketType = iota
	PacketTypeClose
	PacketTypePing
	PacketTypePong
	PacketTypeMessage
	PacketTypeUpgrade
	PacketTypeNoop
)

https://github.com/socketio/engine.io-protocol#packet

func (PacketType) String

func (t PacketType) String() string

type Transport

type Transport interface {
	Dial(string, http.Header) (Conn, error)
}

func NewWebSocketTransport

func NewWebSocketTransport() Transport

type WebSocketTransport

type WebSocketTransport struct {
	Dialer websocket.Dialer
}

func (*WebSocketTransport) Dial

func (t *WebSocketTransport) Dial(url string, requestHeader http.Header) (Conn, error)

Jump to

Keyboard shortcuts

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