netpollmux

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2021 License: Apache-2.0 Imports: 23 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrConnClosed = errors.New("conn closed")
View Source
var SharedSize int32 = 32

Functions

func NewCliTransHandlerFactory

func NewCliTransHandlerFactory() remote.ClientTransHandlerFactory

NewCliTransHandlerFactory creates a new netpollmux client transport handler factory.

func NewSvrTransHandlerFactory

func NewSvrTransHandlerFactory() remote.ServerTransHandlerFactory

NewSvrTransHandlerFactory creates a default netpollmux remote.ServerTransHandlerFactory.

Types

type BufferGetter

type BufferGetter func() (buf remote.ByteBuffer, isNil bool)

BufferGetter is used to get a remote.ByteBuffer.

type DealBufferGetters

type DealBufferGetters func(gts []BufferGetter)

DealBufferGetters is used to get deal of remote.ByteBuffer.

type EventHandler

type EventHandler interface {
	Recv(bufReader remote.ByteBuffer, err error) error
}

EventHandler is used to handle events

type MuxPool

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

MuxPool manages a pool of long connections.

func NewMuxConnPool

func NewMuxConnPool(size int) *MuxPool

NewMuxConnPool size must be adjust to 2^N

func (*MuxPool) Clean

func (mp *MuxPool) Clean(network, address string)

Clean implements the LongConnPool interface.

func (*MuxPool) Close

func (mp *MuxPool) Close() error

Close is to release resource of ConnPool, it is executed when client is closed.

func (*MuxPool) Discard

func (mp *MuxPool) Discard(conn net.Conn) error

Discard implements the ConnPool interface.

func (*MuxPool) Get

func (mp *MuxPool) Get(ctx context.Context, network, address string, opt *remote.ConnOption) (net.Conn, error)

Get pick or generate a net.Conn and return

func (*MuxPool) Put

func (mp *MuxPool) Put(conn net.Conn) error

Put implements the ConnPool interface.

Jump to

Keyboard shortcuts

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