Documentation ¶
Index ¶
Constants ¶
View Source
const ( HeartbeatPeriod = 30 //心跳周期,30s LostThreshold = 150 //失联阈值,150s )
Variables ¶
View Source
var HeartbeatReqId uint = 666
View Source
var HeartbeatRspId uint = 777
Functions ¶
func HeartbeatReqHandler ¶
收到HeartBeatReqId的回调函数: 回复心跳
func HeartbeatRspHandler ¶
收到HeartbeatRspId的回调函数: 记录时间
Types ¶
type ActiveList ¶
type ActiveList struct {
// contains filtered or unexported fields
}
func CreateActiveList ¶
func CreateActiveList() *ActiveList
func (*ActiveList) HeartbeatProbe ¶
func (list *ActiveList) HeartbeatProbe()
获取需要再次发送心跳的连接而发心跳、认为已经不再活跃的连接而回收连接
type Server ¶
type Server struct { Name string Ip string Port int MaxConnectionNumber uint32 //最大连接个数 NumberOfConnections int32 //目前连接个数,hold by atomic SubscribeBook *SubscribeList //被订阅列表 // contains filtered or unexported fields }
func CreateServer ¶
func CreateServer(serviceName string, ip string, port int, maxConnectionNumber uint32) (*Server, error)
https://www.cnblogs.com/concurrency/p/4043271.html 创建TCP服务 参数:服务名,IP,PORT,最大连接个数
func (*Server) RegHandler ¶
func (server *Server) RegHandler(cmdId uint, handler MsgHandler)
设置消息ID对应的回调
type Session ¶
type SubscribeList ¶
type SubscribeList struct {
// contains filtered or unexported fields
}
被订阅列表结构
func (*SubscribeList) GetSubscribers ¶
func (sl *SubscribeList) GetSubscribers(infoKey interface{}) []*Session
获取订阅了key的连接们
func (*SubscribeList) Subscribe ¶
func (sl *SubscribeList) Subscribe(infoKey interface{}, session *Session)
key被连接session所订阅
func (*SubscribeList) UnSubscribe ¶
func (sl *SubscribeList) UnSubscribe(infoKey interface{}, session *Session)
连接session不再订阅key
Click to show internal directories.
Click to hide internal directories.