View Source quicer_local_stream behaviour (quicer v0.2.12)
Summary
Callbacks
Handle API call with callback state.
Handle continue from other callbacks with callback state.
Handle unhandled info with callback state.
Stream handle data
Stream now in 'passive' mode.
Handle stream 'peer_accepted'. The stream which **was not accepted** due to peer flow control is now accepted by the peer.
Handle stream peer_receive_aborted
Handle stream peer_send_aborted.
Handle stream peer_send_shutdown.
Handle send completed.
Handle stream send_shutdown_complete. Happen immediately on an abortive send or after a graceful send has been acknowledged by the peer.
Handle local initiated stream start completed
Handle stream closed, Both endpoints of sending and receiving of the stream have been shut down.
Types
-type active_n() :: boolean() | once | integer().
-type conf_handle() :: reference().
-type connection_handle() :: reference().
-type global_handle() :: quic_global.
-type handle() :: global_handle() | listener_handle() | connection_handle() | stream_handle() | conf_handle() | reg_handle().
-type listener_handle() :: reference().
-type local_stream_opts() :: stream_opts() | proplists:proplist().
-type reg_handle() :: reference().
-type stream_handle() :: reference().
-type stream_open_flags() :: 0 | 1 | 2.
-type stream_opts() :: #{active := active_n(), open_flag => stream_open_flags(), start_flag => stream_start_flags(), event_mask => uint32(), disable_fpbuffer => boolean(), stream_id => uint62(), priority => uint16(), ideal_send_buffer_size => uint64(), '0rtt_length' => uint64(), _ => _}.
-type stream_start_flags() :: 0 | 1 | 2 | 4 | 8.
-type uint16() :: 0..1 bsl 16 - 1.
-type uint32() :: 0..1 bsl 32 - 1.
-type uint62() :: 0..1 bsl 62 - 1.
-type uint64() :: 0..1 bsl 64 - 1.
Callbacks
-callback handle_call(Req :: term(), gen_server:from(), cb_state()) -> cb_ret().
-callback handle_continue(Cont :: term(), cb_state()) -> cb_ret().
-callback handle_info(Info :: term(), cb_state()) -> cb_ret().
-callback handle_stream_data(stream_handle(), binary(), recv_data_props(), cb_state()) -> cb_ret().
-callback passive(stream_handle(), undefined, cb_state()) -> cb_ret().
-callback peer_accepted(connection_handle(), stream_handle(), cb_state()) -> cb_ret().
-callback peer_receive_aborted(stream_handle(), error_code(), cb_state()) -> cb_ret().
-callback peer_send_aborted(stream_handle(), error_code(), cb_state()) -> cb_ret().
-callback peer_send_shutdown(stream_handle(), undefined, cb_state()) -> cb_ret().
-callback send_complete(stream_handle(), IsCanceled :: boolean(), cb_state()) -> cb_ret().
-callback send_shutdown_complete(stream_handle(), IsGraceful :: boolean(), cb_state()) -> cb_ret().
-callback start_completed(stream_handle(), stream_start_completed_props(), cb_state()) -> cb_ret().
-callback stream_closed(stream_handle(), stream_closed_props(), cb_state()) -> cb_ret().
Functions
-spec start(module(), connection_handle(), local_stream_opts(), [gen_server:start_opt()]) -> gen_server:start_ret().
-spec start_link(module(), connection_handle(), local_stream_opts()) -> gen_server:start_ret().
-spec start_link(module(), connection_handle(), local_stream_opts(), [gen_server:start_opt()]) -> gen_server:start_ret().