Module

_h3_handler

HTTP/3 connection handler — manages QUIC/UDP streams via zoomies.

HTTP/3 uses QUIC (UDP) transport. Zoomies is sans-I/O: pounce owns the UDP loop and maintains a connection map. Each QUIC connection has an H3Connection; each HTTP/3 stream maps to one ASGI invocation.

Requires theh3 optional dependency (pip install pounce[h3]).

Classes

_ZoomiesConnection 7
Per-client QUIC + H3 connection state.

Per-client QUIC + H3 connection state.

Attributes

Name Type Description
quic Any
h3 Any
last_activity float
last_addr tuple[str, int]
stream_tasks dict[int, tuple[asyncio.Task[None], asyncio.Queue[dict[str, Any]]]]
stream_body_bytes dict[int, int]
stream_body_ended set[int]

Functions

_create_zoomies_datagram_protocol 5 type
Factory that returns a ZoomiesDatagramProtocol class bound to app/config/logger…
def _create_zoomies_datagram_protocol(app: ASGIApp, config: ServerConfig, logger: logging.Logger, server: tuple[str, int], quic_config: Any) -> type

Factory that returns a ZoomiesDatagramProtocol class bound to app/config/logger/server.

Parameters
Name Type Description
app ASGIApp
config ServerConfig
logger logging.Logger
server tuple[str, int]
quic_config Any
Returns
type
create_zoomies_datagram_protocol_factory 5 Callable[[], asyncio.Dat…
Create a factory for ZoomiesDatagramProtocol. Returns a no-arg callable suitab…
def create_zoomies_datagram_protocol_factory(app: ASGIApp, config: ServerConfig, logger: logging.Logger, server: tuple[str, int], quic_config: Any) -> Callable[[], asyncio.DatagramProtocol]

Create a factory for ZoomiesDatagramProtocol.

Returns a no-arg callable suitable for create_datagram_endpoint().

Parameters
Name Type Description
app ASGIApp
config ServerConfig
logger logging.Logger
server tuple[str, int]
quic_config Any
Returns
Callable[[], asyncio.DatagramProtocol]