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, Unpack[VarArgs]], AbstractAsyncContextManager[AsyncStreamClient | None]], request_handler: AsyncStreamRequestHandler, *args: Unpack[VarArgs], logger: Logger | None = None) Callable[[ConnectedStreamClient], AsyncGenerator[float | RecvParams | None, 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], AsyncGenerator[float | RecvParams | None, Request]]

easynetwork.servers.misc.build_lowlevel_datagram_server_handler(initializer: Callable[[DatagramClientContext, Unpack[VarArgs]], AbstractAsyncContextManager[AsyncDatagramClient | None]], request_handler: AsyncDatagramRequestHandler, *args: Unpack[VarArgs]) Callable[[DatagramClientContext], AsyncGenerator[float | RecvParams | None, 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], AsyncGenerator[float | RecvParams | None, Request]]