Documentation ¶
Index ¶
- Constants
- func NewServer(conf string) yiface.IServer
- type BaseRouter
- type ConnManager
- func (connMgr *ConnManager) Add(conn yiface.IConnection)
- func (connMgr *ConnManager) ClearConn()
- func (connMgr *ConnManager) Get(connId uint32) (yiface.IConnection, error)
- func (connMgr *ConnManager) Len() int
- func (connMgr *ConnManager) Remove(conn yiface.IConnection)
- func (connMgr *ConnManager) Tick()
- type Connection
- func (c *Connection) Context() context.Context
- func (c *Connection) GetConnId() uint32
- func (c *Connection) GetProperty(key string) (interface{}, error)
- func (c *Connection) GetTCPConnection() *net.TCPConn
- func (c *Connection) RemoteAddr() net.Addr
- func (c *Connection) RemoveProperty(key string)
- func (c *Connection) SendBuffMsg(msgId uint32, data []byte) error
- func (c *Connection) SendMsg(msgId uint32, data []byte) error
- func (c *Connection) SetProperty(key string, value interface{})
- func (c *Connection) Start()
- func (c *Connection) StartReader()
- func (c *Connection) StartWriter()
- func (c *Connection) Stop()
- type Message
- type MsgHandle
- type Pack
- type Request
- type Server
- func (s *Server) AddClient(key string, c yiface.IClient)
- func (s *Server) AddRouter(msgId uint32, router yiface.IRouter)
- func (s *Server) CallOnConnStart(conn yiface.IConnection)
- func (s *Server) CallOnConnStop(conn yiface.IConnection)
- func (s *Server) CallOnServerStart(server yiface.IServer)
- func (s *Server) CallOnServerStop(server yiface.IServer)
- func (s *Server) GetClient(key string) yiface.IClient
- func (s *Server) GetConnMgr() yiface.IConnManager
- func (s *Server) GetCtx() context.Context
- func (s *Server) GetInfo() *Server
- func (s *Server) Packet() yiface.IPack
- func (s *Server) Server()
- func (s *Server) SetOnConnStart(hookFunc func(yiface.IConnection))
- func (s *Server) SetOnConnStop(hookFunc func(yiface.IConnection))
- func (s *Server) SetOnServerStart(hookFunc func(yiface.IServer))
- func (s *Server) SetOnServerStop(hookFunc func(yiface.IServer))
- func (s *Server) SetOnTick(hookFunc func(time.Time))
- func (s *Server) Start()
- func (s *Server) Stop()
- func (s *Server) Tick(tick time.Time)
Constants ¶
View Source
const ( HEART_MSG = "heart_msg" //作为client时发送的心跳消息 LAST_ACTIVE = "last_active" //connection 最后活跃时间,秒 KEEP_ALIVE = 200 //假死存活时间 )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BaseRouter ¶
type BaseRouter struct { }
func (*BaseRouter) AfterHandle ¶
func (br *BaseRouter) AfterHandle(request yiface.IRequest)
func (*BaseRouter) Handle ¶
func (br *BaseRouter) Handle(request yiface.IRequest)
func (*BaseRouter) PreHandle ¶
func (br *BaseRouter) PreHandle(request yiface.IRequest)
type ConnManager ¶
type ConnManager struct {
// contains filtered or unexported fields
}
func NewConnManager ¶
func NewConnManager() *ConnManager
func (*ConnManager) Add ¶
func (connMgr *ConnManager) Add(conn yiface.IConnection)
func (*ConnManager) ClearConn ¶
func (connMgr *ConnManager) ClearConn()
func (*ConnManager) Get ¶
func (connMgr *ConnManager) Get(connId uint32) (yiface.IConnection, error)
func (*ConnManager) Len ¶
func (connMgr *ConnManager) Len() int
func (*ConnManager) Remove ¶
func (connMgr *ConnManager) Remove(conn yiface.IConnection)
type Connection ¶
type Connection struct { sync.RWMutex //当前Conn属于哪个Server TcpServer yiface.IServer //当前conn属于哪个server,在conn初始化的时候添加即可 //当前连接的套接字 Conn *net.TCPConn //当前连接的ID,也可以作为sessionID,全局唯一 ConnId uint32 //消息管理MsgId和对应处理方法的消息管理模块 MsgHandler yiface.IMsgHandle // contains filtered or unexported fields }
func NewConnection ¶
func NewConnection(server yiface.IServer, conn *net.TCPConn, connId uint32, handle yiface.IMsgHandle) *Connection
func (*Connection) Context ¶
func (c *Connection) Context() context.Context
返回ctx,用于用户自定义的go程获取连接退出状态
func (*Connection) GetConnId ¶
func (c *Connection) GetConnId() uint32
func (*Connection) GetProperty ¶
func (c *Connection) GetProperty(key string) (interface{}, error)
func (*Connection) GetTCPConnection ¶
func (c *Connection) GetTCPConnection() *net.TCPConn
func (*Connection) RemoteAddr ¶
func (c *Connection) RemoteAddr() net.Addr
func (*Connection) RemoveProperty ¶
func (c *Connection) RemoveProperty(key string)
func (*Connection) SendBuffMsg ¶
func (c *Connection) SendBuffMsg(msgId uint32, data []byte) error
func (*Connection) SetProperty ¶
func (c *Connection) SetProperty(key string, value interface{})
func (*Connection) Start ¶
func (c *Connection) Start()
func (*Connection) StartWriter ¶
func (c *Connection) StartWriter()
func (*Connection) Stop ¶
func (c *Connection) Stop()
type Message ¶
func NewMsgPackage ¶
type MsgHandle ¶
type MsgHandle struct { Apis map[uint32]yiface.IRouter WorkerPoolSize uint32 //业务工作Worker池的数量 TaskQueue []chan yiface.IRequest //Worker负责取任务的消息队列 }
func NewMsgHandle ¶
func NewMsgHandle() *MsgHandle
func (*MsgHandle) DoMsgHandler ¶
func (*MsgHandle) SendMsgToTaskQueue ¶
将消息交给TaskQueue,由worker进行处理 @todo 实现其他算法
func (*MsgHandle) StartWorkerPool ¶
func (mh *MsgHandle) StartWorkerPool()
type Pack ¶
type Pack struct { }
func NewDataPack ¶
func NewDataPack() *Pack
func (*Pack) GetHeadLen ¶
type Request ¶
type Request struct { Conn yiface.IConnection //已经建立好的连接 Msg yiface.IMessage //客户端请求的数据 }
func (*Request) GetConnection ¶
func (r *Request) GetConnection() yiface.IConnection
type Server ¶
type Server struct { Id string Name string IPVersion string IP string Port int //当前Server的链接管理器 ConnMgr yiface.IConnManager //该Server启动时Hook函数 OnServerStart func(server yiface.IServer) //该Server退出时Hook函数 OnServerStop func(server yiface.IServer) //该Server的连接创建时Hook函数 OnConnStart func(conn yiface.IConnection) //该Server的连接断开时的Hook函数 OnConnStop func(conn yiface.IConnection) //tick函数hook OnTick func(tick time.Time) Tick100MSec int64 //100毫秒 //Client chan yiface.IClient Client map[string]yiface.IClient // contains filtered or unexported fields }
func (*Server) CallOnConnStart ¶
func (s *Server) CallOnConnStart(conn yiface.IConnection)
func (*Server) CallOnConnStop ¶
func (s *Server) CallOnConnStop(conn yiface.IConnection)
func (*Server) CallOnServerStart ¶
func (*Server) CallOnServerStop ¶
func (*Server) GetConnMgr ¶
func (s *Server) GetConnMgr() yiface.IConnManager
func (*Server) SetOnConnStart ¶
func (s *Server) SetOnConnStart(hookFunc func(yiface.IConnection))
func (*Server) SetOnConnStop ¶
func (s *Server) SetOnConnStop(hookFunc func(yiface.IConnection))
func (*Server) SetOnServerStart ¶
func (*Server) SetOnServerStop ¶
Click to show internal directories.
Click to hide internal directories.