Documentation ¶
Index ¶
- Constants
- Variables
- type ClientEngine
- type ClientEngineBuilder
- type ConnAdapter
- type EventDriveInter
- type NBioTcpEngine
- func (engine *NBioTcpEngine) Client() ClientEngine
- func (engine *NBioTcpEngine) EventDriveInter() EventDriveInter
- func (engine *NBioTcpEngine) NewConn(config NetworkClientConfig) (ConnAdapter, error)
- func (engine *NBioTcpEngine) OnClose(f func(conn ConnAdapter, err error))
- func (engine *NBioTcpEngine) OnMessage(f func(conn ConnAdapter, data []byte))
- func (engine *NBioTcpEngine) OnOpen(f func(conn ConnAdapter))
- func (engine *NBioTcpEngine) Server() ServerEngine
- func (engine *NBioTcpEngine) Start() error
- func (engine *NBioTcpEngine) Stop() error
- type NBioWebSocketEngine
- func (engine *NBioWebSocketEngine) Client() ClientEngine
- func (engine *NBioWebSocketEngine) EventDriveInter() EventDriveInter
- func (engine *NBioWebSocketEngine) NewConn(config NetworkClientConfig) (ConnAdapter, error)
- func (engine *NBioWebSocketEngine) OnClose(f func(conn ConnAdapter, err error))
- func (engine *NBioWebSocketEngine) OnMessage(f func(conn ConnAdapter, data []byte))
- func (engine *NBioWebSocketEngine) OnOpen(f func(conn ConnAdapter))
- func (engine *NBioWebSocketEngine) Server() ServerEngine
- func (engine *NBioWebSocketEngine) Start() error
- func (engine *NBioWebSocketEngine) Stop() error
- type NetworkClientConfig
- type NetworkServerConfig
- type NewClientEngineBuilder
- type NewServerEngineBuilder
- type ServerEngine
- type ServerEngineBuilder
- type StdNetTcpEngine
- func (s *StdNetTcpEngine) Client() ClientEngine
- func (s *StdNetTcpEngine) EventDriveInter() EventDriveInter
- func (s *StdNetTcpEngine) NewConn(config NetworkClientConfig) (ConnAdapter, error)
- func (s *StdNetTcpEngine) OnClose(f func(conn ConnAdapter, err error))
- func (s *StdNetTcpEngine) OnMessage(f func(conn ConnAdapter, data []byte))
- func (s *StdNetTcpEngine) OnOpen(f func(conn ConnAdapter))
- func (s *StdNetTcpEngine) Server() ServerEngine
- func (s *StdNetTcpEngine) Start() error
- func (s *StdNetTcpEngine) Stop() error
- type WsConnAdapter
Constants ¶
View Source
const ( StdTCPClient int = iota StdTCPServer )
View Source
const ( ReadBufferSize = protocol.MuxMessageBlockSize MaxWriteBufferSize = 1024 * 1024 )
Variables ¶
View Source
var (
EngineManager = &engineManager{}
)
Functions ¶
This section is empty.
Types ¶
type ClientEngine ¶
type ClientEngine interface { Start() error Stop() error NewConn(NetworkClientConfig) (ConnAdapter, error) }
type ClientEngineBuilder ¶
type ClientEngineBuilder interface { Client() ClientEngine EventDriveInter() EventDriveInter }
func NewNBioTcpClientEngine ¶
func NewNBioTcpClientEngine() ClientEngineBuilder
func NewNBioWebsocketClientEngine ¶
func NewNBioWebsocketClientEngine() ClientEngineBuilder
func NewStdTcpClientEngine ¶
func NewStdTcpClientEngine() ClientEngineBuilder
type ConnAdapter ¶
type ConnAdapter interface { // Read Read/Write如果使用了Nio, 那么就不应该把 // syscall.EAGAIN/syscall.EINTR 这种错误往上传递, 应该返回真正的错误 Read(b []byte) (n int, err error) Write(b []byte) (n int, err error) // Close 不管因为何种原因导致了连接被关闭, ServerTransportBuilder设置的OnClose // 应该被调用, 从而让LittleRpc能够清理残余数据 Close() error // Conn 其它的接口遵循net.Conn的定义 net.Conn }
ConnAdapter TODO 定义OnErr的定义 这个接口定义的实现应该是线程安全的, 可以安全地被多个goroutine共享 而且其指针不应该随便变动, 至少在OnClose()完成调用之前不可以变动
type EventDriveInter ¶
type EventDriveInter interface { OnMessage(func(conn ConnAdapter, data []byte)) OnOpen(func(conn ConnAdapter)) OnClose(func(conn ConnAdapter, err error)) }
EventDriveInter 适用于Client&Server的事件驱动接口
type NBioTcpEngine ¶
type NBioTcpEngine struct {
// contains filtered or unexported fields
}
func (*NBioTcpEngine) Client ¶
func (engine *NBioTcpEngine) Client() ClientEngine
func (*NBioTcpEngine) EventDriveInter ¶
func (engine *NBioTcpEngine) EventDriveInter() EventDriveInter
func (*NBioTcpEngine) NewConn ¶
func (engine *NBioTcpEngine) NewConn(config NetworkClientConfig) (ConnAdapter, error)
func (*NBioTcpEngine) OnClose ¶
func (engine *NBioTcpEngine) OnClose(f func(conn ConnAdapter, err error))
func (*NBioTcpEngine) OnMessage ¶
func (engine *NBioTcpEngine) OnMessage(f func(conn ConnAdapter, data []byte))
func (*NBioTcpEngine) OnOpen ¶
func (engine *NBioTcpEngine) OnOpen(f func(conn ConnAdapter))
func (*NBioTcpEngine) Server ¶
func (engine *NBioTcpEngine) Server() ServerEngine
func (*NBioTcpEngine) Start ¶
func (engine *NBioTcpEngine) Start() error
func (*NBioTcpEngine) Stop ¶
func (engine *NBioTcpEngine) Stop() error
type NBioWebSocketEngine ¶
type NBioWebSocketEngine struct {
// contains filtered or unexported fields
}
NBioWebSocketEngine 不设置错误处理回调函数则采用默认回调 默认函数中遇到错误就会panic,所以不期望panic的话一定要设置错误处理回调
func (*NBioWebSocketEngine) Client ¶
func (engine *NBioWebSocketEngine) Client() ClientEngine
func (*NBioWebSocketEngine) EventDriveInter ¶
func (engine *NBioWebSocketEngine) EventDriveInter() EventDriveInter
func (*NBioWebSocketEngine) NewConn ¶
func (engine *NBioWebSocketEngine) NewConn(config NetworkClientConfig) (ConnAdapter, error)
func (*NBioWebSocketEngine) OnClose ¶
func (engine *NBioWebSocketEngine) OnClose(f func(conn ConnAdapter, err error))
func (*NBioWebSocketEngine) OnMessage ¶
func (engine *NBioWebSocketEngine) OnMessage(f func(conn ConnAdapter, data []byte))
func (*NBioWebSocketEngine) OnOpen ¶
func (engine *NBioWebSocketEngine) OnOpen(f func(conn ConnAdapter))
func (*NBioWebSocketEngine) Server ¶
func (engine *NBioWebSocketEngine) Server() ServerEngine
func (*NBioWebSocketEngine) Start ¶
func (engine *NBioWebSocketEngine) Start() error
func (*NBioWebSocketEngine) Stop ¶
func (engine *NBioWebSocketEngine) Stop() error
type NetworkClientConfig ¶
type NetworkServerConfig ¶
type NewClientEngineBuilder ¶
type NewClientEngineBuilder func() ClientEngineBuilder
type NewServerEngineBuilder ¶
type NewServerEngineBuilder func(NetworkServerConfig) ServerEngineBuilder
type ServerEngine ¶
type ServerEngineBuilder ¶
type ServerEngineBuilder interface { Server() ServerEngine EventDriveInter() EventDriveInter }
func NewNBioTcpServerEngine ¶
func NewNBioTcpServerEngine(config NetworkServerConfig) ServerEngineBuilder
func NewNBioWebsocketServerEngine ¶
func NewNBioWebsocketServerEngine(config NetworkServerConfig) ServerEngineBuilder
func NewStdTcpServerEngine ¶
func NewStdTcpServerEngine(config NetworkServerConfig) ServerEngineBuilder
type StdNetTcpEngine ¶
type StdNetTcpEngine struct {
// contains filtered or unexported fields
}
func (*StdNetTcpEngine) Client ¶
func (s *StdNetTcpEngine) Client() ClientEngine
func (*StdNetTcpEngine) EventDriveInter ¶
func (s *StdNetTcpEngine) EventDriveInter() EventDriveInter
func (*StdNetTcpEngine) NewConn ¶
func (s *StdNetTcpEngine) NewConn(config NetworkClientConfig) (ConnAdapter, error)
func (*StdNetTcpEngine) OnClose ¶
func (s *StdNetTcpEngine) OnClose(f func(conn ConnAdapter, err error))
func (*StdNetTcpEngine) OnMessage ¶
func (s *StdNetTcpEngine) OnMessage(f func(conn ConnAdapter, data []byte))
func (*StdNetTcpEngine) OnOpen ¶
func (s *StdNetTcpEngine) OnOpen(f func(conn ConnAdapter))
func (*StdNetTcpEngine) Server ¶
func (s *StdNetTcpEngine) Server() ServerEngine
func (*StdNetTcpEngine) Start ¶
func (s *StdNetTcpEngine) Start() error
func (*StdNetTcpEngine) Stop ¶
func (s *StdNetTcpEngine) Stop() error
type WsConnAdapter ¶
Click to show internal directories.
Click to hide internal directories.