Module h2_stream

Behaviours: gen_statem.

This module defines the h2_stream behaviour.
Required callback functions: init/3, on_receive_request_headers/2, on_send_push_promise/2, on_receive_request_data/2, on_request_end_stream/1.

Data Types

callback_state()

callback_state() = any()

state()

state() = #stream_state{stream_id = stream_id(), connection = undefined | pid(), socket = sock:socket(), state = stream_state_name(), incoming_frames = queue:queue(h2_frame:frame()), request_headers = hpack:headers(), request_body = iodata() | undefined, request_body_size = non_neg_integer(), request_end_stream = boolean(), request_end_headers = boolean(), response_headers = hpack:headers(), response_trailers = hpack:headers(), response_body = iodata() | undefined, response_end_headers = boolean(), response_end_stream = boolean(), next_state = undefined | stream_state_name(), promised_stream = undefined | state(), callback_state = any(), callback_mod = module()}

stream_id()

stream_id() = non_neg_integer()

stream_state_name()

stream_state_name() = idle | open | closed | reserved_local | reserved_remote | half_closed_local | half_closed_remote

Function Index

call/2
callback_mode/0
closed/3
code_change/4
connection/0
half_closed_local/3
half_closed_remote/3
idle/3
init/1
open/3
reserved_local/3
reserved_remote/3
rst_stream/2
send_connection_window_update/1
send_data/2
send_event/2
send_pp/2
send_window_update/1
start_link/5
stop/1
stream_id/0
terminate/3

Function Details

call/2

call(Pid, Msg) -> any()

callback_mode/0

callback_mode() -> any()

closed/3

closed(Type, Event, Stream_state) -> any()

code_change/4

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

connection/0

connection() -> pid()

half_closed_local/3

half_closed_local(Type, Event, Stream_state) -> any()

half_closed_remote/3

half_closed_remote(Type, Msg, Stream_state) -> any()

idle/3

idle(Type, Event, Stream_state) -> any()

init/1

init(X1) -> any()

open/3

open(Type, Event, Stream_state) -> any()

reserved_local/3

reserved_local(Type, Event, Stream_state) -> any()

reserved_remote/3

reserved_remote(Type, Event, Stream_state) -> any()

rst_stream/2

rst_stream(Pid, Code) -> any()

send_connection_window_update/1

send_connection_window_update(Size::non_neg_integer()) -> ok

send_data/2

send_data(Pid::pid(), Frame::h2_frame_data:frame()) -> ok | flow_control

send_event/2

send_event(Pid, Event) -> any()

send_pp/2

send_pp(Pid::pid(), Headers::hpack:headers()) -> ok

send_window_update/1

send_window_update(Size::non_neg_integer()) -> ok

start_link/5

start_link(StreamId::stream_id(), Connection::pid(), CallbackModule::module(), CallbackOptions::list(), Socket::sock:socket()) -> {ok, pid()} | ignore | {error, term()}

stop/1

stop(Pid::pid()) -> ok

stream_id/0

stream_id() -> stream_id()

terminate/3

terminate(Reason, StateName, State) -> any()


Generated by EDoc