Handlers
Sum Handler
datadivr.handlers
Message handlers for DataDivr.
Classes
HandlerType
Functions
get_handlers(handler_type=HandlerType.SERVER)
Get registered handlers for the specified type.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
handler_type
|
HandlerType
|
Type of handlers to retrieve (SERVER or CLIENT) |
SERVER
|
Source code in datadivr/handlers/registry.py
get_node_info_handler(message)
async
Handle requests to get information about a specific node.
Source code in datadivr/handlers/custom_handlers.py
handle_sum_result(message)
async
Handle the result of a sum calculation on the client side.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
message
|
WebSocketMessage
|
A WebSocketMessage containing the sum result in its payload |
required |
Source code in datadivr/handlers/builtin/sum_handler.py
msg_handler(message)
async
Handle generic text messages on the client side.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
message
|
WebSocketMessage
|
A WebSocketMessage containing a text message |
required |
Source code in datadivr/handlers/builtin/sum_handler.py
sum_handler(message)
async
Handle requests to calculate the sum of a list of numbers.
This handler processes both server and client-side sum calculation requests. It expects a payload containing a list of numbers and returns their sum.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
message
|
WebSocketMessage
|
A WebSocketMessage containing a payload with a "numbers" key holding a list of numeric values |
required |
Returns:
Name | Type | Description |
---|---|---|
WebSocketMessage |
WebSocketMessage
|
A message containing the sum result or an error message |
Example payload
{"numbers": [1, 2, 3, 4, 5]}
Source code in datadivr/handlers/builtin/sum_handler.py
websocket_handler(event_name, handler_type=HandlerType.SERVER)
Decorator to register a websocket handler function.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
event_name
|
str
|
The event name to register the handler for. |
required |
handler_type
|
HandlerType
|
Where this handler should be registered (SERVER, CLIENT, or BOTH) |
SERVER
|
Example
@websocket_handler("sum_event", HandlerType.BOTH) async def sum_handler(message: WebSocketMessage) -> Optional[WebSocketMessage]: ...
Source code in datadivr/handlers/registry.py
Modules
builtin
Built-in message handlers.
Modules
sum_handler
handle_sum_result(message)
async
Handle the result of a sum calculation on the client side.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
message
|
WebSocketMessage
|
A WebSocketMessage containing the sum result in its payload |
required |
Source code in datadivr/handlers/builtin/sum_handler.py
msg_handler(message)
async
Handle generic text messages on the client side.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
message
|
WebSocketMessage
|
A WebSocketMessage containing a text message |
required |
Source code in datadivr/handlers/builtin/sum_handler.py
sum_handler(message)
async
Handle requests to calculate the sum of a list of numbers.
This handler processes both server and client-side sum calculation requests. It expects a payload containing a list of numbers and returns their sum.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
message
|
WebSocketMessage
|
A WebSocketMessage containing a payload with a "numbers" key holding a list of numeric values |
required |
Returns:
Name | Type | Description |
---|---|---|
WebSocketMessage |
WebSocketMessage
|
A message containing the sum result or an error message |
Example payload
{"numbers": [1, 2, 3, 4, 5]}
Source code in datadivr/handlers/builtin/sum_handler.py
custom_handlers
Classes
Functions
get_node_info_handler(message)
async
Handle requests to get information about a specific node.
Source code in datadivr/handlers/custom_handlers.py
handle_client_overview(message)
async
Handle client overview messages.
Source code in datadivr/handlers/custom_handlers.py
registry
Classes
HandlerType
Functions
get_handlers(handler_type=HandlerType.SERVER)
Get registered handlers for the specified type.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
handler_type
|
HandlerType
|
Type of handlers to retrieve (SERVER or CLIENT) |
SERVER
|
Source code in datadivr/handlers/registry.py
websocket_handler(event_name, handler_type=HandlerType.SERVER)
Decorator to register a websocket handler function.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
event_name
|
str
|
The event name to register the handler for. |
required |
handler_type
|
HandlerType
|
Where this handler should be registered (SERVER, CLIENT, or BOTH) |
SERVER
|
Example
@websocket_handler("sum_event", HandlerType.BOTH) async def sum_handler(message: WebSocketMessage) -> Optional[WebSocketMessage]: ...
Source code in datadivr/handlers/registry.py
options: show_root_heading: true show_source: true