Server implementation tools — Miscellaneous

Server implementation tools module.


Bridge between low-level and high-level APIs

easynetwork.servers.misc.build_lowlevel_stream_server_handler(initializer: Callable[[ConnectedStreamClient[_T_Response], Unpack[_T_VarArgs]], AbstractAsyncContextManager[AsyncStreamClient[_T_Response] | None]], request_handler: AsyncStreamRequestHandler[_T_Request, _T_Response], *args: Unpack[_T_VarArgs], logger: Logger | None = None) Callable[[ConnectedStreamClient[_T_Response]], AsyncGenerator[float | RecvParams | None, _T_Request]]

Creates an asynchronous generator function, usable by AsyncStreamServer.serve(), from an AsyncStreamRequestHandler.

Changed in version 1.1: Added variadic arguments for initializer.

Parameters:
Returns:

an asynchronous generator function.

Return type:

Callable[[ConnectedStreamClient[_T_Response]], AsyncGenerator[float | RecvParams | None, _T_Request]]

easynetwork.servers.misc.build_lowlevel_datagram_server_handler(initializer: Callable[[DatagramClientContext[_T_Response, _T_Address], Unpack[_T_VarArgs]], AbstractAsyncContextManager[AsyncDatagramClient[_T_Response] | None]], request_handler: AsyncDatagramRequestHandler[_T_Request, _T_Response], *args: Unpack[_T_VarArgs]) Callable[[DatagramClientContext[_T_Response, _T_Address]], AsyncGenerator[float | RecvParams | None, _T_Request]]

Creates an asynchronous generator function, usable by AsyncDatagramServer.serve(), from an AsyncDatagramRequestHandler.

Changed in version 1.1: Added variadic arguments for initializer.

Parameters:
Returns:

an asynchronous generator function.

Return type:

Callable[[DatagramClientContext[_T_Response, _T_Address]], AsyncGenerator[float | RecvParams | None, _T_Request]]