wired
libc-free QUIC/HTTP3 SDK in C for x86_64-linux
Loading...
Searching...
No Matches
settings_build.h
1#ifndef H3SETTINGS_SETTINGS_BUILD_H
2#define H3SETTINGS_SETTINGS_BUILD_H
3
6
45
46/* RFC 9114 7.2.4: build a SETTINGS frame carrying the three common settings
47 * (MAX_FIELD_SECTION_SIZE 0x06, QPACK_MAX_TABLE_CAPACITY 0x01,
48 * QPACK_BLOCKED_STREAMS 0x07), plus SETTINGS_ENABLE_CONNECT_PROTOCOL (RFC 9220
49 * 3, id 0x08) when in->enable_connect_protocol is non-zero, SETTINGS_H3_
50 * DATAGRAM (RFC 9297 2.1.1, id 0x33) when in->enable_h3_datagram is non-zero,
51 * and SETTINGS_WEBTRANSPORT_MAX_SESSIONS (draft-ietf-webtrans-http3 8.2, id
52 * 0xc671706a) when in->wt_max_sessions is non-zero. Returns 1 ok with
53 * out->len set, 0 if no room. */
54int h3settings_build(const h3settings_in* in, wired_obuf* out);
55
56#endif
Value-type views that fold the SDK's recurring argument shapes into single parameters,...
The common HTTP/3 + QPACK settings values to encode.
Definition settings_build.h:8
u64 wt_max_sessions
draft-ietf-webtrans-http3 8.2: non-zero appends the 0xc671706a SETTINGS_WEBTRANSPORT_MAX_SESSIONS pai...
Definition settings_build.h:24
u64 enable_h3_datagram
RFC 9297 2.1.1: non-zero appends the 0x33 SETTINGS_H3_DATAGRAM pair (value must be 0 or 1).
Definition settings_build.h:20
u64 qpack_blocked_streams
RFC 9204 5: SETTINGS_QPACK_BLOCKED_STREAMS value.
Definition settings_build.h:14
u64 enable_connect_protocol
RFC 9220 3: non-zero appends the 0x08 SETTINGS_ENABLE_CONNECT_PROTOCOL pair.
Definition settings_build.h:17
u64 max_field_section_size
RFC 9114 7.2.4.1: SETTINGS_MAX_FIELD_SECTION_SIZE value.
Definition settings_build.h:10
u64 wt_initial_max_data
draft-ietf-webtrans-http3-15 5.5.3: non-zero appends the 0x2b61 SETTINGS_WT_INITIAL_MAX_DATA pair – t...
Definition settings_build.h:43
u64 wt_initial_max_streams_bidi
draft-ietf-webtrans-http3-15 5.5.2: non-zero appends the 0x2b65 SETTINGS_WT_INITIAL_MAX_STREAMS_BIDI ...
Definition settings_build.h:39
u64 wt_initial_max_streams_uni
draft-ietf-webtrans-http3-15 5.5.1: non-zero appends the 0x2b64 SETTINGS_WT_INITIAL_MAX_STREAMS_UNI p...
Definition settings_build.h:35
u64 grease_id
RFC 9114 7.2.4.1 / 9114-064: non-zero appends this reserved (grease, 0x1f*N + 0x21 form,...
Definition settings_build.h:30
u64 qpack_max_table_capacity
RFC 9204 5: SETTINGS_QPACK_MAX_TABLE_CAPACITY value.
Definition settings_build.h:12
Growing output buffer view for variable-length results.
Definition span.h:54
Linux direct syscalls.
unsigned long u64
unsigned 64-bit integer
Definition types.h:13