transport

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2019 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 TLS added in v0.3.0

type TLS struct {
	KeyFile  string
	CertFile string
}

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(ctx context.Context, frame framing.Frame) (err error)

DeliveryFrame delivery incoming frames.

func (*Transport) Flush added in v0.3.0

func (p *Transport) Flush() error

func (*Transport) HandleCancel

func (p *Transport) HandleCancel(handler FrameHandler)

HandleCancel registers handler when receiving a frame of Cancel.

func (*Transport) HandleError

func (p *Transport) HandleError(handler FrameHandler)

HandleError registers handler when receiving a frame of Error.

func (*Transport) HandleError0

func (p *Transport) HandleError0(handler FrameHandler)

HandleError0 registers handler when receiving frame of Error with zero StreamID.

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) 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) 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) MakeClientTransport

func (p *URI) MakeClientTransport(tc *tls.Config) (*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