Documentation
¶
Index ¶
- Variables
- func IsNoHandlerError(err error) bool
- type AddrConn
- type ClientTransporter
- type Conn
- type EventType
- type FrameHandler
- type LengthBasedFrameDecoder
- type ListenerFactory
- type RawWebsocketConn
- type ServerTransport
- func NewTCPServerTransport(f ListenerFactory) ServerTransport
- func NewTCPServerTransportWithAddr(network, addr string, tlsConfig *tls.Config) ServerTransport
- func NewWebsocketServerTransport(f ListenerFactory, path string, upgrader *websocket.Upgrader) ServerTransport
- func NewWebsocketServerTransportWithAddr(addr string, path string, upgrader *websocket.Upgrader, config *tls.Config) ServerTransport
- type ServerTransportAcceptor
- type ServerTransporter
- type TCPConn
- func (p TCPConn) Addr() string
- func (p *TCPConn) Close() error
- func (p *TCPConn) Flush() (err error)
- func (p *TCPConn) Read() (f core.BufferedFrame, err error)
- func (p *TCPConn) SetCounter(c *core.TrafficCounter)
- func (p *TCPConn) SetDeadline(deadline time.Time) error
- func (p *TCPConn) Write(frame core.WriteableFrame) (err error)
- type Transport
- func NewTCPClientTransport(c net.Conn) *Transport
- func NewTCPClientTransportWithAddr(ctx context.Context, network, addr string, tlsConfig *tls.Config) (tp *Transport, err error)
- func NewTransport(c Conn) *Transport
- func NewWebsocketClientTransport(ctx context.Context, url string, config *tls.Config, header http.Header, ...) (*Transport, error)
- func (p *Transport) Addr() (string, bool)
- func (p *Transport) Close() (err error)
- func (p *Transport) Connection() Conn
- func (p *Transport) DispatchFrame(_ context.Context, frame core.BufferedFrame) (err error)
- func (p *Transport) Flush() (err error)
- func (p *Transport) Handle(event EventType, handler FrameHandler)
- func (p *Transport) ReadFirst(ctx context.Context) (frame core.BufferedFrame, err error)
- func (p *Transport) Send(frame core.WriteableFrame, flush bool) (err error)
- func (p *Transport) SetLifetime(lifetime time.Duration)
- func (p *Transport) Start(ctx context.Context) error
- type WebsocketConn
- func (p *WebsocketConn) Addr() string
- func (p *WebsocketConn) Close() error
- func (p *WebsocketConn) Flush() (err error)
- func (p *WebsocketConn) Read() (f core.BufferedFrame, err error)
- func (p *WebsocketConn) SetCounter(c *core.TrafficCounter)
- func (p *WebsocketConn) SetDeadline(deadline time.Time) error
- func (p *WebsocketConn) Write(frame core.WriteableFrame) (err error)
Constants ¶
This section is empty.
Variables ¶
var ErrIncompleteHeader = errors.New("incomplete frame header")
ErrIncompleteHeader is error of incomplete header.
Functions ¶
func IsNoHandlerError ¶
IsNoHandlerError returns true if input error means no handler registered.
Types ¶
type ClientTransporter ¶
ClientTransporter is alias which generate new client-side transports.
type Conn ¶
type Conn interface { io.Closer // SetDeadline set deadline for current connection. // After this deadline, connection will be closed. SetDeadline(deadline time.Time) error // SetCounter bind a counter which can count r/w bytes. SetCounter(c *core.TrafficCounter) // Read reads next frame from Conn. Read() (core.BufferedFrame, error) // Write writes a frame to Conn. Write(core.WriteableFrame) error // Flush flushes the data. Flush() error }
Conn is connection for RSocket.
type FrameHandler ¶
type FrameHandler = func(frame core.BufferedFrame) (err error)
FrameHandler is an alias of frame handler.
type LengthBasedFrameDecoder ¶
LengthBasedFrameDecoder defines a decoder for decoding frames which have a header of length.
func NewLengthBasedFrameDecoder ¶
func NewLengthBasedFrameDecoder(r io.Reader) *LengthBasedFrameDecoder
NewLengthBasedFrameDecoder creates a new frame decoder.
func (*LengthBasedFrameDecoder) Read ¶
func (p *LengthBasedFrameDecoder) Read() (raw []byte, err error)
Read reads next raw frame in bytes.
type ListenerFactory ¶
ListenerFactory is factory which generate new listeners.
type RawWebsocketConn ¶
type RawWebsocketConn interface { io.Closer // SetReadDeadline set read deadline. SetReadDeadline(time.Time) error // ReadMessage reads next message. ReadMessage() (messageType int, p []byte, err error) // WriteMessage writes next message. WriteMessage(messageType int, data []byte) error }
RawWebsocketConn is Raw websocket connection. Only for mock tests.
type ServerTransport ¶
type ServerTransport interface { io.Closer // Accept register incoming connection handler. Accept(acceptor ServerTransportAcceptor) // Listen listens on the network address addr and handles requests on incoming connections. // You can specify notifier chan, it'll be sent true/false when server listening success/failed. Listen(ctx context.Context, notifier chan<- bool) error }
ServerTransport is server-side RSocket transport.
func NewTCPServerTransport ¶
func NewTCPServerTransport(f ListenerFactory) ServerTransport
NewTCPServerTransport creates a new server-side transport.
func NewTCPServerTransportWithAddr ¶
func NewTCPServerTransportWithAddr(network, addr string, tlsConfig *tls.Config) ServerTransport
NewTCPServerTransportWithAddr creates a new server-side transport.
func NewWebsocketServerTransport ¶
func NewWebsocketServerTransport(f ListenerFactory, path string, upgrader *websocket.Upgrader) ServerTransport
NewWebsocketServerTransport creates a new server-side transport.
func NewWebsocketServerTransportWithAddr ¶
func NewWebsocketServerTransportWithAddr(addr string, path string, upgrader *websocket.Upgrader, config *tls.Config) ServerTransport
NewWebsocketServerTransportWithAddr creates a new server-side transport.
type ServerTransportAcceptor ¶
ServerTransportAcceptor is an alias of server transport handler.
type ServerTransporter ¶
type ServerTransporter func(context.Context) (ServerTransport, error)
ServerTransporter is alias which generate new server-side transports.
type TCPConn ¶
type TCPConn struct {
// contains filtered or unexported fields
}
TCPConn is RSocket connection for TCP transport.
func NewTCPConn ¶
NewTCPConn creates a new TCP RSocket connection.
func (*TCPConn) Read ¶
func (p *TCPConn) Read() (f core.BufferedFrame, err error)
Read reads next frame from Conn.
func (*TCPConn) SetCounter ¶
func (p *TCPConn) SetCounter(c *core.TrafficCounter)
SetCounter bind a counter which can count r/w bytes.
func (*TCPConn) SetDeadline ¶
SetDeadline set deadline for current connection. After this deadline, connection will be closed.
type Transport ¶
type Transport struct {
// contains filtered or unexported fields
}
Transport is RSocket transport which is used to carry RSocket frames.
func NewTCPClientTransport ¶
NewTCPClientTransport creates new transport.
func NewTCPClientTransportWithAddr ¶
func NewTCPClientTransportWithAddr(ctx context.Context, network, addr string, tlsConfig *tls.Config) (tp *Transport, err error)
NewTCPClientTransportWithAddr creates new transport.
func NewWebsocketClientTransport ¶
func NewWebsocketClientTransport(ctx context.Context, url string, config *tls.Config, header http.Header, proxy func(*http.Request) (*url.URL, error)) (*Transport, error)
NewWebsocketClientTransport creates a new client-side transport.
func (*Transport) Connection ¶
Connection returns current connection.
func (*Transport) DispatchFrame ¶
DispatchFrame delivery incoming frames.
func (*Transport) Handle ¶
func (p *Transport) Handle(event EventType, handler FrameHandler)
Handle register event handlers
func (*Transport) Send ¶
func (p *Transport) Send(frame core.WriteableFrame, flush bool) (err error)
Send send a frame.
func (*Transport) SetLifetime ¶
SetLifetime set max lifetime for current transport.
type WebsocketConn ¶
type WebsocketConn struct {
// contains filtered or unexported fields
}
WebsocketConn is websocket RSocket connection.
func NewWebsocketConnection ¶
func NewWebsocketConnection(rawConn RawWebsocketConn) *WebsocketConn
NewWebsocketConnection creates a new RSocket websocket connection.
func (*WebsocketConn) Addr ¶ added in v0.7.13
func (p *WebsocketConn) Addr() string
Addr returns the address info.
func (*WebsocketConn) Read ¶
func (p *WebsocketConn) Read() (f core.BufferedFrame, err error)
Read reads next frame from Conn.
func (*WebsocketConn) SetCounter ¶
func (p *WebsocketConn) SetCounter(c *core.TrafficCounter)
SetCounter bind a counter which can count r/w bytes.
func (*WebsocketConn) SetDeadline ¶
func (p *WebsocketConn) SetDeadline(deadline time.Time) error
SetDeadline set deadline for current connection. After this deadline, connection will be closed.
func (*WebsocketConn) Write ¶
func (p *WebsocketConn) Write(frame core.WriteableFrame) (err error)
Write writes frames.