microserve::http3_detail::QuicApp struct

Application sitting on a QUIC connection (HTTP/3 session).

Implemented by the HTTP/3 session; invoked from QUIC callbacks. Return values of 0 mean success; negative values are nghttp3/ngtcp2 errors.

Derived classes

struct H3Session final
HTTP/3 session on top of one QUIC connection.

Constructors, destructors, conversion operators

~QuicApp() defaulted virtual

Public functions

auto on_handshake_completed() -> int pure virtual
auto on_recv_stream_data(int64_t stream_id, const uint8_t* data, size_t data_len, int fin, size_t& consumed) -> int pure virtual
auto on_stream_open(int64_t stream_id) -> int pure virtual
auto on_stream_close(int64_t stream_id, uint64_t app_error_code, bool app_error_set, bool bidi) -> int pure virtual
auto on_acked_stream_data(int64_t stream_id, uint64_t data_len) -> int pure virtual
void on_extend_max_remote_streams_bidi(uint64_t max_streams) pure virtual
auto on_extend_max_stream_data(int64_t stream_id) -> int pure virtual
void on_stream_reset(int64_t stream_id) pure virtual
auto poll_stream_write(int64_t& stream_id, int& fin, QuicVec* vecs, size_t size) -> int pure virtual
auto add_write_offset(int64_t stream_id, size_t n) -> int pure virtual
void block_stream(int64_t stream_id) pure virtual
void shutdown_stream_write(int64_t stream_id) pure virtual