transport

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2019 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

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

Functions

func IsClosedErr

func IsClosedErr(err error) bool

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() (Frame, error)
	// Write writes a frame to Conn.
	Write(frame Frame) 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 Frame) (err error)

FrameHandler is alias of frame handler.

type LengthBasedFrameDecoder

type LengthBasedFrameDecoder bufio.Scanner

func NewLengthBasedFrameDecoder

func NewLengthBasedFrameDecoder(r io.Reader) *LengthBasedFrameDecoder

func (*LengthBasedFrameDecoder) Read

func (p *LengthBasedFrameDecoder) Read() (raw []byte, err error)

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(onReady ...func()) error
}

ServerTransport is server-side RSocket transport.

type ServerTransportAcceptor

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

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)

func (*Transport) Connection

func (p *Transport) Connection() Conn

Connection returns current connection.

func (*Transport) HandleCancel

func (p *Transport) HandleCancel(handler FrameHandler)

func (*Transport) HandleError

func (p *Transport) HandleError(handler FrameHandler)

func (*Transport) HandleError0

func (p *Transport) HandleError0(handler FrameHandler)

func (*Transport) HandleFNF

func (p *Transport) HandleFNF(handler FrameHandler)

func (*Transport) HandleKeepalive

func (p *Transport) HandleKeepalive(handler FrameHandler)

func (*Transport) HandleMetadataPush

func (p *Transport) HandleMetadataPush(handler FrameHandler)

func (*Transport) HandlePayload

func (p *Transport) HandlePayload(handler FrameHandler)

func (*Transport) HandleRequestChannel

func (p *Transport) HandleRequestChannel(handler FrameHandler)

func (*Transport) HandleRequestN

func (p *Transport) HandleRequestN(handler FrameHandler)

func (*Transport) HandleRequestResponse

func (p *Transport) HandleRequestResponse(handler FrameHandler)

func (*Transport) HandleRequestStream

func (p *Transport) HandleRequestStream(handler FrameHandler)

func (*Transport) HandleResume

func (p *Transport) HandleResume(handler FrameHandler)

func (*Transport) HandleResumeOK

func (p *Transport) HandleResumeOK(handler FrameHandler)

func (*Transport) HandleSetup

func (p *Transport) HandleSetup(handler FrameHandler)

func (*Transport) Send

func (p *Transport) Send(frame Frame) (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 struct {
	// contains filtered or unexported fields
}

URI is used to create a RSocket transport.

func ParseURI

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

ParseURI parse URI string and returns a URI.

func (*URI) MakeClientTransport

func (p *URI) MakeClientTransport() (*Transport, error)

MakeClientTransport returns a new RSocket transport.

func (*URI) MakeServerTransport

func (p *URI) MakeServerTransport() (tp ServerTransport, err error)

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