quic_listener_sup (quic v1.3.1)

View Source

Supervisor for a pool of QUIC listeners using SO_REUSEPORT.

This module provides horizontal scaling for QUIC servers by running multiple listener processes that share the same port via reuseport. The kernel distributes incoming packets across the listeners.

Usage

Single listener (default):

   quic_listener:start_link(Port, Opts)

Pooled listeners for scalability:

   quic_listener_sup:start_link(Port, Opts#{pool_size => 4})

See also: quic_listener.

Summary

Functions

Get list of listener PIDs in the pool. Navigates to quic_listener_sup_sup to find actual quic_listener processes.

Start a pool of QUIC listeners on the given port. Options: - pool_size: Number of listener processes (default 1) - All other options are passed to quic_listener

Stop the listener pool supervisor.

Functions

get_listeners(Sup)

-spec get_listeners(pid()) -> [pid()].

Get list of listener PIDs in the pool. Navigates to quic_listener_sup_sup to find actual quic_listener processes.

init(_)

start_link(Port, Opts)

-spec start_link(inet:port_number(), map()) -> {ok, pid()} | {error, term()}.

Start a pool of QUIC listeners on the given port. Options: - pool_size: Number of listener processes (default 1) - All other options are passed to quic_listener

stop(Sup)

-spec stop(pid()) -> ok.

Stop the listener pool supervisor.