abstract datatype: http3_machine()
instructions() = undefined | {decoder_instructions | encoder_instructions, iodata()}
opts() = #{enable_connect_protocol => boolean(), max_decode_blocked_streams => 0..4611686018427387903, max_decode_table_size => 0..4611686018427387903, max_encode_blocked_streams => 0..4611686018427387903, max_encode_table_size => 0..4611686018427387903}
unidi_stream_dir() = unidi_local | unidi_remote
unidi_stream_type() = control | push | encoder | decoder
become_webtransport_session(StreamID::cow_http3:stream_id(), State) -> State
State = http3_machine()
become_webtransport_stream(StreamID::cow_http3:stream_id(), SessionID::cow_http3:stream_id(), State) -> {ok, State}
State = http3_machine()
close_bidi_stream_for_sending(StreamID::cow_http3:stream_id(), State) -> State
State = http3_machine()
close_stream(StreamID::cow_http3:stream_id(), State) -> {ok, State} | {error, {connection_error, h3_closed_critical_stream, atom()}, State}
State = http3_machine()
close_webtransport_session(SessionID::cow_http3:stream_id(), State) -> State
State = http3_machine()
frame(Frame::cow_http3:frame(), IsFin::cow_http:fin(), StreamID::cow_http3:stream_id(), State) -> {ok, State} | {ok, {data, binary()}, State} | {ok, {headers, cow_http:headers(), cow_http:pseudo_headers(), non_neg_integer() | undefined}, instructions(), State} | {ok, {trailers, cow_http:headers()}, instructions(), State} | {ok, {goaway, cow_http3:stream_id() | cow_http3:push_id()}, State} | {error, {stream_error, h3_message_error, atom()}, instructions(), State} | {error, {connection_error, cow_http3:error() | cow_qpack:error(), atom()}, State}
State = http3_machine()
get_bidi_stream_local_state(StreamID::cow_http3:stream_id(), State::http3_machine()) -> {ok, idle | cow_http:fin()} | {error, not_found}
get_bidi_stream_remote_state(StreamID::cow_http3:stream_id(), State::http3_machine()) -> {ok, idle | cow_http:fin()} | {error, not_found}
ignored_frame(StreamID::cow_http3:stream_id(), State) -> {ok, State} | {error, {connection_error, cow_http3:error(), atom()}, State}
State = http3_machine()
init(Mode::client | server, Opts::opts()) -> {ok, iolist(), http3_machine()}
init_bidi_stream(StreamID::cow_http3:stream_id(), Method::binary(), State) -> State
State = http3_machine()
init_unidi_local_streams(ControlID::cow_http3:stream_id(), EncoderID::cow_http3:stream_id(), DecoderID::cow_http3:stream_id(), State) -> State
State = http3_machine()
init_unidi_stream(StreamID::cow_http3:stream_id(), StreamDir::unidi_stream_dir(), State) -> State
State = http3_machine()
prepare_headers(StreamID::cow_http3:stream_id(), State, IsFin0::idle | cow_http:fin(), PseudoHeaders::cow_http:pseudo_headers(), Headers0::cow_http:headers()) -> {ok, cow_http:fin(), iodata(), instructions(), State}
State = http3_machine()
prepare_trailers(StreamID::cow_http3:stream_id(), State, Trailers::cow_http:headers()) -> {trailers, iodata(), instructions(), State} | {no_trailers, State}
State = http3_machine()
reset_stream(StreamID::cow_http3:stream_id(), State) -> {ok, State} | {error, not_found}
State = http3_machine()
set_unidi_remote_stream_type(StreamID::cow_http3:stream_id(), Type::unidi_stream_type(), State) -> {ok, State} | {error, {connection_error, h3_stream_creation_error, atom()}, State}
State = http3_machine()
unidi_data(Data::binary(), X2::cow_http:fin(), StreamID::cow_http3:stream_id(), State) -> {ok, instructions(), State} | {error, {connection_error, cow_qpack:error(), atom()}, State}
State = http3_machine()
Generated by EDoc