23 lines
884 B
Go
23 lines
884 B
Go
|
|
package ws
|
|||
|
|
|
|||
|
|
// MessagePublisher 定义消息发布接口
|
|||
|
|
// ws.Hub 隐式满足此接口,ws.Bus 组合 Hub 并扩展跨实例能力
|
|||
|
|
type MessagePublisher interface {
|
|||
|
|
// 消息发布
|
|||
|
|
PublishToUser(userID string, eventType string, payload any) Event
|
|||
|
|
PublishToUsers(userIDs []string, eventType string, payload any)
|
|||
|
|
PublishToUsersConcurrent(userIDs []string, eventType string, payload any)
|
|||
|
|
PublishToUserOnline(userID string, eventType string, payload any) bool
|
|||
|
|
PublishToUserOnlineReliable(userID string, eventType string, payload any) bool
|
|||
|
|
Broadcast(eventType string, payload any)
|
|||
|
|
|
|||
|
|
// 在线状态
|
|||
|
|
HasClients(userID string) bool
|
|||
|
|
FilterOnline(userIDs []string) (online, offline []string)
|
|||
|
|
|
|||
|
|
// 本地操作(不经过 Redis)
|
|||
|
|
SendError(client *Client, code string, message string)
|
|||
|
|
NextID() uint64
|
|||
|
|
OnDisconnect(handler DisconnectHandler)
|
|||
|
|
OnConnect(handler ConnectHandler)
|
|||
|
|
}
|