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) }