transport

package module
v0.0.0-...-aa5265f Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2022 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrTransportDecode   errStr = "[%s] transport decode: %w"
	ErrTransportEncode   errStr = "[%s] transport encode: %w"
	ErrUnsupportedMethod errStr = "%s not supported"
)

Variables

This section is empty.

Functions

func NewPollingTransport

func NewPollingTransport(ival time.Duration) func(SessionID, Codec) Transporter

func NewWebsocketTransport

func NewWebsocketTransport() func(SessionID, Codec) Transporter

Types

type HTTPCompressionKind

type HTTPCompressionKind string
const (
	CompressGZIP HTTPCompressionKind = "gzip"
)

type Name

type Name string

func (Name) String

func (name Name) String() string

type Option

type Option func(Transporter)

func WithCodec

func WithCodec(codec Codec) Option

func WithHTTPCompression

func WithHTTPCompression(kind HTTPCompressionKind) Option

func WithPerMessageDeflate

func WithPerMessageDeflate(kind HTTPCompressionKind) Option

type PollingTransport

type PollingTransport struct {
	*Transport
	// contains filtered or unexported fields
}

func (*PollingTransport) Run

func (t *PollingTransport) Run(_w http.ResponseWriter, r *http.Request, opts ...Option) (err error)

type SessionID

type SessionID = sess.ID

type Transport

type Transport struct {
	// contains filtered or unexported fields
}

func (*Transport) ID

func (t *Transport) ID() SessionID

func (*Transport) Name

func (t *Transport) Name() Name

func (*Transport) Receive

func (t *Transport) Receive() <-chan eiop.Packet

func (*Transport) Send

func (t *Transport) Send(packet eiop.Packet)

func (*Transport) Shutdown

func (t *Transport) Shutdown()

func (*Transport) Transport

func (t *Transport) Transport() *Transport

type Transporter

type Transporter interface {
	ID() SessionID
	Name() Name
	Send(eiop.Packet)
	Receive() <-chan eiop.Packet

	Run(http.ResponseWriter, *http.Request, ...Option) error
	Shutdown()
}

type WebsocketTransport

type WebsocketTransport struct {
	*Transport

	PingMsg string
	// contains filtered or unexported fields
}

func (*WebsocketTransport) Run

func (t *WebsocketTransport) Run(w http.ResponseWriter, r *http.Request, opts ...Option) (err error)

Jump to

Keyboard shortcuts

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