Module wade_h3

HTTP/3 protocol implementation.

Behaviours: gen_server.

Description

HTTP/3 protocol implementation. Maps HTTP semantics onto QUIC streams.

Function Index

code_change/3Handle code upgrades.
handle_call/3Handle synchronous calls (e.g., send_response).
handle_cast/2Handle asynchronous messages (e.g., stream data).
handle_info/2Handle other messages (e.g., timeouts).
handle_stream_data/3Handle incoming stream data.
init/1Initialize the server state.
send_response/5Send an HTTP/3 response.
start_link/1Start the HTTP/3 server.
terminate/2Clean up on termination.

Function Details

code_change/3

code_change(OldVsn, State, Extra) -> any()

Handle code upgrades.

handle_call/3

handle_call(Request, From, State) -> any()

Handle synchronous calls (e.g., send_response).

handle_cast/2

handle_cast(Msg, State) -> any()

Handle asynchronous messages (e.g., stream data).

handle_info/2

handle_info(Info, State) -> any()

Handle other messages (e.g., timeouts).

handle_stream_data/3

handle_stream_data(Pid::pid(), StreamID::integer(), Data::binary()) -> ok

Pid: Server PID.
StreamID: QUIC stream ID.
Data: Binary data received.

Handle incoming stream data.

init/1

init(Options) -> any()

Initialize the server state.

send_response/5

send_response(Pid::pid(), StreamID::integer(), StatusCode::integer(), Headers::[{binary(), binary()}], Body::binary()) -> ok

Pid: Server PID.
StreamID: QUIC stream ID.
StatusCode: HTTP status code.
Headers: List of {binary(), binary()} tuples.
Body: Binary response body.

Send an HTTP/3 response.

start_link/1

start_link(Options::map()) -> {ok, pid()} | {error, term()}

Options: Map containing connection PID and routes.

Start the HTTP/3 server.

terminate/2

terminate(Reason, State) -> any()

Clean up on termination.


Generated by EDoc