transport

package
v0.5.13 Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2020 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrIncompleteHeader = errors.New("incomplete frame header")

ErrIncompleteHeader is error of incomplete header.

Functions

This section is empty.

Types

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 *Counter)
	// Read reads next frame from Conn.
	Read() (framing.Frame, error)
	// Write writes a frame to Conn.
	Write(frames framing.Frame) error
	// Flush.
	Flush() error
}

Conn is connection for RSocket.

type Counter

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

Counter represents a counter of read/write bytes.

func NewCounter

func NewCounter() *Counter

NewCounter returns a new counter.

func (Counter) ReadBytes

func (p Counter) ReadBytes() uint64

ReadBytes returns the number of bytes that have been read.

func (Counter) WriteBytes

func (p Counter) WriteBytes() uint64

WriteBytes returns the number of bytes that have been written.

type FrameHandler

type FrameHandler = func(frame framing.Frame) (err error)

FrameHandler is an alias of frame handler.

type LengthBasedFrameDecoder

type LengthBasedFrameDecoder bufio.Scanner

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 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 onReady handler, it'll be invoked when server begin listening.
	// It always returns a non-nil error.
	Listen(ctx context.Context, notifier chan<- struct{}) error
}

ServerTransport is server-side RSocket transport.

type ServerTransportAcceptor

type ServerTransportAcceptor = func(ctx context.Context, tp *Transport)

ServerTransportAcceptor is an alias of server transport handler.

type Transport

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

Transport is RSocket transport which is used to carry RSocket frames.

func (*Transport) Close

func (p *Transport) Close() (err error)

Close close current transport.

func (*Transport) Connection

func (p *Transport) Connection() Conn

Connection returns current connection.

func (*Transport) DeliveryFrame added in v0.2.1

func (p *Transport) DeliveryFrame(_ context.Context, frame framing.Frame) (err error)

DeliveryFrame delivery incoming frames.

func (*Transport) Flush added in v0.3.0

func (p *Transport) Flush() (err error)

Flush flush all bytes in current connection.

func (*Transport) HandleCancel

func (p *Transport) HandleCancel(handler FrameHandler)

HandleCancel registers handler when receiving a frame of Cancel.

func (*Transport) HandleDisaster added in v0.5.0

func (p *Transport) HandleDisaster(handler FrameHandler)

HandleDisaster registers handler when receiving frame of DISASTER Error with zero StreamID.

func (*Transport) HandleError

func (p *Transport) HandleError(handler FrameHandler)

HandleError registers handler when receiving a frame of Error.

func (*Transport) HandleFNF

func (p *Transport) HandleFNF(handler FrameHandler)

HandleFNF registers handler when receiving a frame of FireAndForget.

func (*Transport) HandleKeepalive

func (p *Transport) HandleKeepalive(handler FrameHandler)

HandleKeepalive registers handler when receiving a frame of Keepalive.

func (*Transport) HandleLease added in v0.5.0

func (p *Transport) HandleLease(handler FrameHandler)

func (*Transport) HandleMetadataPush

func (p *Transport) HandleMetadataPush(handler FrameHandler)

HandleMetadataPush registers handler when receiving a frame of MetadataPush.

func (*Transport) HandlePayload

func (p *Transport) HandlePayload(handler FrameHandler)

HandlePayload registers handler when receiving a frame of Payload.

func (*Transport) HandleRequestChannel

func (p *Transport) HandleRequestChannel(handler FrameHandler)

HandleRequestChannel registers handler when receiving a frame of RequestChannel.

func (*Transport) HandleRequestN

func (p *Transport) HandleRequestN(handler FrameHandler)

HandleRequestN registers handler when receiving a frame of RequestN.

func (*Transport) HandleRequestResponse

func (p *Transport) HandleRequestResponse(handler FrameHandler)

HandleRequestResponse registers handler when receiving a frame of RequestResponse.

func (*Transport) HandleRequestStream

func (p *Transport) HandleRequestStream(handler FrameHandler)

HandleRequestStream registers handler when receiving a frame of RequestStream.

func (*Transport) HandleResume

func (p *Transport) HandleResume(handler FrameHandler)

HandleResume registers handler when receiving a frame of Resume.

func (*Transport) HandleResumeOK

func (p *Transport) HandleResumeOK(handler FrameHandler)

HandleResumeOK registers handler when receiving a frame of ResumeOK.

func (*Transport) HandleSetup

func (p *Transport) HandleSetup(handler FrameHandler)

HandleSetup registers handler when receiving a frame of Setup.

func (*Transport) ReadFirst added in v0.2.1

func (p *Transport) ReadFirst(ctx context.Context) (frame framing.Frame, err error)

ReadFirst reads first frame.

func (*Transport) Send

func (p *Transport) Send(frame framing.Frame, flush bool) (err error)

Send send a frame.

func (*Transport) SetLifetime

func (p *Transport) SetLifetime(lifetime time.Duration)

SetLifetime set max lifetime for current transport.

func (*Transport) Start

func (p *Transport) Start(ctx context.Context) (err error)

Start start transport.

type URI

type URI url.URL

URI represents a URI of RSocket transport.

func ParseURI

func ParseURI(rawUrl string) (*URI, error)

ParseURI parse URI string and returns a URI.

func (*URI) IsWebsocket added in v0.4.0

func (p *URI) IsWebsocket() bool

IsWebsocket returns true if current uri is websocket.

func (*URI) MakeClientTransport

func (p *URI) MakeClientTransport(tc *tls.Config, headers map[string][]string) (*Transport, error)

MakeClientTransport creates a new client-side transport.

func (*URI) MakeServerTransport

func (p *URI) MakeServerTransport(c *tls.Config) (tp ServerTransport, err error)

MakeServerTransport creates a new server-side transport.

func (*URI) String

func (p *URI) String() string

Jump to

Keyboard shortcuts

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