Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ITcpConnManager ¶
type ITcpConnManager interface { // 添加链接 Add(conn ITcpConnection) // 删除连接 Remove(conn ITcpConnection) // 利用ConnID获取链接 Get(connID int64) (ITcpConnection, error) // 获取当前连接 Len() int // 删除并停止所有连接 ClearConn() }
ITcpConnManager Tcp连接管理抽象层
type ITcpConnection ¶
type ITcpConnection interface { // 启动连接,让当前连接开始工作 Start() // 停止连接,结束当前连接状态 Stop() // 从当前连接获取原始的Socket TCPConn GetTCPConnection() *net.TCPConn // 获取当前连接ID(会话ID) GetConnID() int64 // 获取远程客户端地址信息 RemoteAddr() net.Addr // 设置连接属性 SetProperty(key string, value interface{}) // 获取连接属性 GetProperty(key string) (interface{}, error) // 移除连接属性 RemoveProperty(key string) // SendTcpPkg 发送tcp数据包 // @pkgBodyType 数据类型 // @pkg 数据内容(自定义结构体对象) // @userBuf 是否启动缓冲(默认关闭) SendTcpPkg(pkgBodyType byte, pkg interface{}, userBuf ...bool) error }
type ITcpPkgHandle ¶
type ITcpPkgHandle interface { // 马上以非阻塞方式处理数据包 DoPkgHandler(request ITcpRequest) // 为数据包添加具体的处理逻辑 AddRouter(handlerRouter string, router ITcpRouter) // 启动worker工作池 StartWorkerPool() // 将数据包交给TaskQueue,由worker进行处理 SendPkgToTaskQueue(request ITcpRequest) }
ITcpPkgHandle 消息管理抽象层
type ITcpRequest ¶
type ITcpRequest interface { // 获取请求连接信息 GetConnection() ITcpConnection // 获取请求数据包 GetPkg() []byte // 获取请求数据(场景:1、解密后的数据包内容 2、真正的消息体) GetPkgBody() []byte // 获取请求路由 GetHandlerRouter() string }
type ITcpRouter ¶
type ITcpRouter interface { // 在处理conn业务之前的钩子方法 PreHandle(request ITcpRequest) // 处理conn业务的方法 Handle(request ITcpRequest) // 处理conn业务之后的钩子方法 PostHandle(request ITcpRequest) }
ITcpRouter 路由接口,自定义处理业务方法
type ITcpServer ¶
type ITcpServer interface { // 启动服务器方法 Start() // 停止服务器方法 Stop() // 开启业务服务方法 Serve() // 路由功能:给当前服务注册一个路由业务方法,供客户端连接处理使用 AddRouter(handlerRouter string, router ITcpRouter) // 获取连接管理 GetConnMgr() ITcpConnManager // 设置该Server的连接创建时Hook函数 SetOnConnStart(func(ITcpConnection)) // 设置该Server的连接断开时的Hook函数 SetOnConnStop(func(ITcpConnection)) // 调用连接OnConnStart Hook函数 CallOnConnStart(conn ITcpConnection) // 调用连接OnConnStop Hook函数 CallOnConnStop(conn ITcpConnection) }
ITcpServer 定义服务器接口
Click to show internal directories.
Click to hide internal directories.