nameko.web.websocket

Attributes

Classes

Connection

WebSocketServer

请注意,Extension.__init__bind 过程中以及实例化时都会被调用,因此请避免在此方法中产生副作用。请使用 setup

WebSocketHubProvider

请注意,Extension.__init__bind 过程中以及实例化时都会被调用,因此请避免在此方法中产生副作用。请使用 setup

WebSocketHub

WebSocketRpc

入口点封装类

Module Contents

nameko.web.websocket.IDENTIFY_WEBSOCKET_RULES[源代码]
nameko.web.websocket._log[源代码]
nameko.web.websocket.SocketInfo[源代码]
class nameko.web.websocket.Connection(socket_id, context_data)[源代码]

Bases: object

socket_id[源代码]
context_data[源代码]
subscriptions[源代码]
class nameko.web.websocket.WebSocketServer[源代码]

Bases: nameko.extensions.SharedExtension, nameko.extensions.ProviderCollector

请注意,Extension.__init__bind 过程中以及实例化时都会被调用,因此请避免在此方法中产生副作用。请使用 setup

此外,binditer_extensions 使用反射来查找扩展可能声明的任何子扩展。扩展上的任何描述符应该预计在反射过程中被调用,这发生在 ServiceContainer.__init__ServiceContainer.setup 之间。

Extension.container 属性提供对绑定到该扩展的 nameko.containers.ServiceContainer 实例的访问,否则为 None

wsgi_server[源代码]
sockets[源代码]
deserialize_ws_frame(payload)[源代码]
serialize_for_ws(payload)[源代码]
serialize_event(event, data)[源代码]
get_url_rule()[源代码]
handle_request(request)[源代码]
websocket_mainloop(initial_context_data)[源代码]
handle_websocket_request(socket_id, context_data, raw_req)[源代码]
get_provider_for_method(method)[源代码]
setup()[源代码]

在容器启动之前调用了绑定的扩展。

扩展应在此处进行任何必要的初始化。

stop()[源代码]

在服务容器开始关闭时调用。

扩展应在此处执行任何优雅的关闭操作。

add_websocket(ws, initial_context_data=None)[源代码]
remove_socket(socket_id)[源代码]
class nameko.web.websocket.WebSocketHubProvider[源代码]

Bases: nameko.extensions.DependencyProvider

请注意,Extension.__init__bind 过程中以及实例化时都会被调用,因此请避免在此方法中产生副作用。请使用 setup

此外,binditer_extensions 使用反射来查找扩展可能声明的任何子扩展。扩展上的任何描述符应该预计在反射过程中被调用,这发生在 ServiceContainer.__init__ServiceContainer.setup 之间。

Extension.container 属性提供对绑定到该扩展的 nameko.containers.ServiceContainer 实例的访问,否则为 None

hub = None[源代码]
server[源代码]
setup()[源代码]

在容器启动之前调用了绑定的扩展。

扩展应在此处进行任何必要的初始化。

stop()[源代码]

在服务容器开始关闭时调用。

扩展应在此处执行任何优雅的关闭操作。

get_dependency(worker_ctx)[源代码]

在工作者执行之前调用。依赖提供者应返回一个对象,以便容器将其注入到工作者实例中。

cleanup_websocket(socket_id)[源代码]
class nameko.web.websocket.WebSocketHub(server)[源代码]

Bases: object

_server[源代码]
connections[源代码]
subscriptions[源代码]
_get_connection(socket_id, create=True)[源代码]
get_subscriptions(socket_id)[源代码]

返回套接字的所有订阅列表。

subscribe(socket_id, channel)[源代码]

将套接字订阅到频道。

unsubscribe(socket_id, channel)[源代码]

将套接字从频道中取消订阅。

broadcast(channel, event, data)[源代码]

向所有在频道上监听的套接字广播事件。

unicast(socket_id, event, data)[源代码]

向单个套接字发送事件。如果成功则返回 True,否则返回 False

class nameko.web.websocket.WebSocketRpc(expected_exceptions=(), sensitive_arguments=(), **kwargs)[源代码]

Bases: nameko.extensions.Entrypoint

入口点封装类

Parameters:
expected_exceptions异常类或异常类元组

指定可能由调用者引起的异常(例如,通过提供错误的参数)。 保存在入口点实例中作为 entrypoint.expected_exceptions,供其他扩展(例如监控系统)后续检查。

sensitive_arguments字符串或字符串元组

将参数或参数的一部分标记为敏感。保存在入口点实例中作为 entrypoint.sensitive_arguments, 供其他扩展(例如日志系统)后续检查。

seealso:

nameko.utils.get_redacted_args()

server[源代码]
setup()[源代码]

在容器启动之前调用了绑定的扩展。

扩展应在此处进行任何必要的初始化。

stop()[源代码]

在服务容器开始关闭时调用。

扩展应在此处执行任何优雅的关闭操作。

handle_message(socket_id, data, context_data)[源代码]
handle_result(event, worker_ctx, result, exc_info)[源代码]
nameko.web.websocket.rpc[源代码]