taolib.testing.config_center.server.websocket.protocols#
推送服务 Protocol 接口定义模块。
定义消息缓冲、在线状态追踪和连接管理的抽象接口, 遵循现有 ConfigCacheProtocol 模式实现依赖注入和测试解耦。
Classes#
离线消息缓冲协议。 |
|
用户在线状态追踪协议。 |
|
WebSocket 连接管理器协议。 |
Module Contents#
- class taolib.testing.config_center.server.websocket.protocols.MessageBufferProtocol#
Bases:
Protocol离线消息缓冲协议。
- async push(user_id: str, message: taolib.testing.config_center.server.websocket.models.PushMessage) None#
缓冲一条用户离线消息。
- async push_to_channel(channel: str, message: taolib.testing.config_center.server.websocket.models.PushMessage) None#
缓冲一条频道消息(供 HTTP 轮询使用)。
- async flush(user_id: str, limit: int = 100) list[taolib.testing.config_center.server.websocket.models.PushMessage]#
取出并清除用户的离线消息。
- async get_recent(channel: str, since: datetime.datetime, limit: int = 50) list[taolib.testing.config_center.server.websocket.models.PushMessage]#
获取频道自指定时间以来的消息(HTTP 轮询用)。
- class taolib.testing.config_center.server.websocket.protocols.PresenceTrackerProtocol#
Bases:
Protocol用户在线状态追踪协议。
- async get_status(user_id: str) taolib.testing.config_center.server.websocket.models.UserPresence | None#
获取用户在线状态。
- async get_all_online() list[taolib.testing.config_center.server.websocket.models.UserPresence]#
获取所有在线用户。
- class taolib.testing.config_center.server.websocket.protocols.ConnectionManagerProtocol#
Bases:
ProtocolWebSocket 连接管理器协议。
- async broadcast(channel: str, message: taolib.testing.config_center.server.websocket.models.PushMessage) int#
向频道广播消息,返回投递成功的连接数。
- async send_to_user(user_id: str, message: taolib.testing.config_center.server.websocket.models.PushMessage) int#
向特定用户发送消息,返回投递成功的连接数。
- get_stats() taolib.testing.config_center.server.websocket.models.ConnectionStats#
获取连接统计信息。