Documentation ¶
Index ¶
Constants ¶
const (
ErrStopped = errs.Err("object is stopped")
)
errors
Variables ¶
var ( // OptionDomains is option's domain OptionDomains = []string{"Connector"} // Options for connector Options = connectorOptions{ PipeLimit: options.NewIntOption(-1), Dialer: dialerOptions{ Reconnect: options.NewBoolOption(true), MinReconnectTime: options.NewTimeDurationOption(100 * time.Millisecond), MaxReconnectTime: options.NewTimeDurationOption(8 * time.Second), DialAsync: options.NewBoolOption(false), }, Pipe: pipeOptions{ ReadBuffer: options.NewIntOption(0), Raw: options.NewBoolOption(false), RawRecvBufSize: options.NewIntOption(4 * 1024), CloseOnEOF: options.NewBoolOption(true), MaxRecvContentLength: options.NewUint32Option(128 * 1024), }, } )
Functions ¶
This section is empty.
Types ¶
type Action ¶
type Action interface { SetNegotiator(Negotiator) CoreAction GetPipe(id uint32) Pipe ClosePipe(id uint32) }
Action is connector's action
type Connector ¶
type Connector interface { options.Options Action Close() SetPipeEventHandler(PipeEventHandlerFunc) ClearPipeEventHandler(PipeEventHandlerFunc) }
Connector controls socket's connections
func NewWithLimitAndOptionValues ¶
func NewWithLimitAndOptionValues(limit int, ovs options.OptionValues) Connector
NewWithLimitAndOptionValues create a Connector with limit and option values
func NewWithLimitAndOptions ¶
NewWithLimitAndOptions create a Connector with limit and options
func NewWithOptionValues ¶
func NewWithOptionValues(ovs options.OptionValues) Connector
NewWithOptionValues create a Connector with option values
func NewWithOptions ¶
NewWithOptions create a Connector with options
type CoreAction ¶
type CoreAction interface { Dial(addr string) error DialOptions(addr string, ovs options.OptionValues) error NewDialer(addr string, ovs options.OptionValues) (Dialer, error) // StopDial stop dial to address, but keep connected pipes. StopDial(addr string) Listen(addr string) error ListenOptions(addr string, ovs options.OptionValues) error NewListener(addr string, ovs options.OptionValues) (Listener, error) // StopDial stop listen on address, but keep accepted pipes. StopListen(addr string) }
CoreAction is connector's core action
type Dialer ¶
type Dialer interface { options.Options Dial() error Close() error TransportDialer() transport.Dialer }
Dialer is for connecting a listening socket.
type Listener ¶
type Listener interface { options.Options Listen() error Close() error TransportListener() transport.Listener }
Listener is for listening and accepting connections.
type MsgReceiver ¶
MsgReceiver receive messages
type MsgSendReceiver ¶
type MsgSendReceiver interface { MsgSender MsgReceiver }
MsgSendReceiver send and receive messages
type Negotiator ¶
Negotiator is use for handshaking when adding pipe
type Pipe ¶
type Pipe interface { options.ReadOnlyOptions ID() uint32 IsRaw() bool MsgFreeLevel() message.FreeLevel transport.Connection MsgSendReceiver }
Pipe is a connection between two peers.
type PipeEventHandlerFunc ¶
PipeEventHandlerFunc can handle pipe event
type SendReceiver ¶
SendReceiver send and receive packet