Documentation
¶
Overview ¶
dispatcher包提供消息队列, 消息注册+派发 封装消息解包, 打包的过程
Index ¶
- func BuildPacket(data interface{}) (*Packet, *MessageMeta)
- func ParsePacket(pkt *Packet, msgType reflect.Type) (interface{}, error)
- func RegisterMessageMeta(name string, msg proto.Message, id uint32)
- func VisitMessageMeta(callback func(*MessageMeta))
- type Connector
- type EventPipe
- type EventQueue
- type MessageMeta
- type Packet
- type Peer
- type Session
- type SessionManager
- type Timer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterMessageMeta ¶
注册消息元信息(代码生成专用)
Types ¶
type EventPipe ¶
type EventPipe interface { AddQueue() EventQueue Start() Stop(int) Wait() int // 开启捕获错误, 错误不会崩溃 EnableCaputrePanic(enable bool) }
func NewEventPipe ¶
func NewEventPipe() EventPipe
type EventQueue ¶
type EventQueue interface { // 注册事件回调 RegisterCallback(id uint32, f func(interface{})) // 设置事件截获钩子, 在CallData中调用钩子 InjectData(func(interface{}) bool) // 投递事件, 通过队列到达消费者端 PostData(data interface{}) // 直接调用消费者端的handler CallData(data interface{}) // 延时投递 DelayPostData(dur time.Duration, callback func()) }
type MessageMeta ¶
type Peer ¶
type Peer interface { // 开启 Start(address string) Peer // 关闭 Stop() // 名字 SetName(string) Name() string // Session最大包大小, 超过这个数字, 接收视为错误, 断开连接 SetMaxPacketSize(size int) MaxPacketSize() int // 事件 EventQueue // 连接管理 SessionManager }
type SessionManager ¶
Source Files
¶
Click to show internal directories.
Click to hide internal directories.