Module cow_http3

Data Types

error()

error() = h3_no_error | h3_general_protocol_error | h3_internal_error | h3_stream_creation_error | h3_closed_critical_stream | h3_frame_unexpected | h3_frame_error | h3_excessive_load | h3_id_error | h3_settings_error | h3_missing_settings | h3_request_rejected | h3_request_cancelled | h3_request_incomplete | h3_message_error | h3_connect_error | h3_version_fallback | h3_datagram_error | wt_buffered_stream_rejected | wt_session_gone | {wt_application_error, wt_app_error_code()}

frame()

frame() = {data, binary()} | {headers, binary()} | {cancel_push, push_id()} | {settings, settings()} | {push_promise, push_id(), binary()} | {goaway, stream_id() | push_id()} | {max_push_id, push_id()}

h3_non_neg_integer()

h3_non_neg_integer() = 0..4611686018427387903

push_id()

push_id() = non_neg_integer()

settings()

settings() = #{qpack_max_table_capacity => h3_non_neg_integer(), max_field_section_size => h3_non_neg_integer(), qpack_blocked_streams => h3_non_neg_integer(), enable_connect_protocol => boolean(), h3_datagram => boolean(), wt_max_sessions => h3_non_neg_integer(), wt_initial_max_streams_uni => h3_non_neg_integer(), wt_initial_max_streams_bidi => h3_non_neg_integer(), wt_initial_max_data => h3_non_neg_integer()}

stream_id()

stream_id() = non_neg_integer()

wt_app_error_code()

wt_app_error_code() = 0..4294967295

Function Index

code_to_error/1
data/1
datagram/2
encode_int/1
error_to_code/1
headers/1
parse/1
parse_datagram/1
parse_int/1
parse_unidi_stream_header/1
settings/1
webtransport_stream_header/2

Function Details

code_to_error/1

code_to_error(Code::non_neg_integer()) -> error()

data/1

data(Data::iodata()) -> iolist()

datagram/2

datagram(SessionID::stream_id(), Data::iodata()) -> iolist()

encode_int/1

encode_int(I::h3_non_neg_integer()) -> binary()

error_to_code/1

error_to_code(X1::error()) -> non_neg_integer()

headers/1

headers(HeaderBlock::iodata()) -> iolist()

parse/1

parse(X1::binary()) -> {ok, frame(), binary()} | {webtransport_stream_header, stream_id(), binary()} | {more, {data, binary()} | ignore, non_neg_integer()} | {ignore, binary()} | {connection_error, h3_frame_error | h3_frame_unexpected | h3_settings_error, atom()} | more

parse_datagram/1

parse_datagram(Data::binary()) -> {stream_id(), binary()}

parse_int/1

parse_int(X1::binary()) -> {non_neg_integer(), binary()} | more

parse_unidi_stream_header/1

parse_unidi_stream_header(X1::binary()) -> {ok, control | push | encoder | decoder | {webtransport, stream_id()}, binary()} | {undefined, binary()} | more

settings/1

settings(Settings::settings()) -> iolist()

webtransport_stream_header/2

webtransport_stream_header(SessionID::stream_id(), StreamType::unidi | bidi) -> iolist()


Generated by EDoc