Documentation
¶
Overview ¶
Package transports provides builder types for Engine.IO transport registration and instantiation.
Package transports provides initialization logic for Engine.IO transport registration.
Package transports implements the JSONP polling transport for Engine.IO.
Package transports implements the HTTP long-polling transport for Engine.IO.
Package transports provides implementations for Engine.IO transport types and constants.
Package transports provides implementations for Engine.IO transport mechanisms such as polling, WebSocket, and WebTransport.
Package transports implements the WebSocket transport for Engine.IO.
Package transports implements the WebTransport transport for Engine.IO.
Index ¶
Constants ¶
const ( POLLING string = "polling" WEBSOCKET string = "websocket" WEBTRANSPORT string = "webtransport" )
Variables ¶
This section is empty.
Functions ¶
func Transports ¶
func Transports() map[string]TransportCtor
Types ¶
type Jsonp ¶
type Jsonp interface {
Polling
}
func NewJSONP ¶
func NewJSONP(ctx *types.HttpContext) Jsonp
type Polling ¶
type Polling interface {
Transport
DoWrite(*types.HttpContext, types.BufferInterface, *packet.Options, func(error))
}
func NewPolling ¶
func NewPolling(ctx *types.HttpContext) Polling
type PollingBuilder ¶
type PollingBuilder struct{}
func (*PollingBuilder) HandlesUpgrades ¶
func (*PollingBuilder) HandlesUpgrades() bool
func (*PollingBuilder) Name ¶
func (*PollingBuilder) Name() string
func (*PollingBuilder) New ¶
func (*PollingBuilder) New(ctx *types.HttpContext) Transport
func (*PollingBuilder) UpgradesTo ¶
func (*PollingBuilder) UpgradesTo() []string
type Transport ¶
type Transport interface {
types.EventEmitter
Prototype(Transport)
Proto() Transport
SetSid(string)
SetWritable(bool)
SetSupportsBinary(bool)
SetReadyState(string)
SetHttpCompression(*types.HttpCompression)
SetPerMessageDeflate(*types.PerMessageDeflate)
SetMaxHttpBufferSize(int64)
// The session ID.
Sid() string
// Whether the transport is currently ready to send packets.
Writable() bool
// The revision of the protocol:
//
// - 3 is used in Engine.IO v3 / Socket.IO v2
// - 4 is used in Engine.IO v4 and above / Socket.IO v3 and above
//
// It is found in the `EIO` query parameters of the HTTP requests.
//
// See https://github.com/socketio/engine.io-protocol
Protocol() int
// Whether the transport is discarded and can be safely closed (used during upgrade).
//
// Protected
Discarded() bool
// The parser to use (depends on the revision of the {@link Transport#protocol}.
//
// Protected
Parser() parser.Parser
// Whether the transport supports binary payloads (else it will be base64-encoded)
//
// Protected
SupportsBinary() bool
// The current state of the transport.
//
// Protected
ReadyState() string
HttpCompression() *types.HttpCompression
PerMessageDeflate() *types.PerMessageDeflate
MaxHttpBufferSize() int64
// Abstract
HandlesUpgrades() bool
// Abstract
Name() string
// [Transport.Construct] should be called after calling [Transport.Prototype]
Construct(*types.HttpContext)
// Private
//
// Flags the transport as discarded.
Discard()
// Protected
//
// Called with an incoming HTTP request.
OnRequest(*types.HttpContext)
// Private
//
// Closes the transport.
Close(...types.Callable)
// Protected
//
// Called with a transport error.
OnError(string, error)
// Protected
//
// Called with parsed out a packets from the data stream.
OnPacket(*packet.Packet)
// Protected
//
// Called with the encoded packet data.
OnData(types.BufferInterface)
// Protected
//
// Called upon transport close.
OnClose()
// Protected
//
// Writes a packet payload.
Send([]*packet.Packet)
// Protected
//
// Closes the transport.
DoClose(types.Callable)
}
func MakeTransport ¶
func MakeTransport() Transport
func NewTransport ¶
func NewTransport(ctx *types.HttpContext) Transport
type TransportCtor ¶
type WebSocketBuilder ¶
type WebSocketBuilder struct{}
func (*WebSocketBuilder) HandlesUpgrades ¶
func (*WebSocketBuilder) HandlesUpgrades() bool
func (*WebSocketBuilder) Name ¶
func (*WebSocketBuilder) Name() string
func (*WebSocketBuilder) New ¶
func (*WebSocketBuilder) New(ctx *types.HttpContext) Transport
func (*WebSocketBuilder) UpgradesTo ¶
func (*WebSocketBuilder) UpgradesTo() []string
type WebTransport ¶
type WebTransport interface {
Transport
}
func NewWebTransport ¶
func NewWebTransport(ctx *types.HttpContext) WebTransport
type WebTransportBuilder ¶
type WebTransportBuilder struct{}
func (*WebTransportBuilder) HandlesUpgrades ¶
func (*WebTransportBuilder) HandlesUpgrades() bool
func (*WebTransportBuilder) Name ¶
func (*WebTransportBuilder) Name() string
func (*WebTransportBuilder) New ¶
func (*WebTransportBuilder) New(ctx *types.HttpContext) Transport
func (*WebTransportBuilder) UpgradesTo ¶
func (*WebTransportBuilder) UpgradesTo() []string
type Websocket ¶
type Websocket interface {
Transport
}
func NewWebSocket ¶
func NewWebSocket(ctx *types.HttpContext) Websocket