quicer_local_stream behaviour (quicer v0.4.3)

View Source

Stream initiated from local

Summary

Types

active_n/0

-type active_n() :: boolean() | once | integer().

conf_handle/0

-type conf_handle() :: reference().

connection_handle/0

-type connection_handle() :: reference().

global_handle/0

-type global_handle() :: quic_global.

handle/0

listener_handle/0

-type listener_handle() :: reference().

local_stream_opts/0

-type local_stream_opts() :: stream_opts() | proplists:proplist().

reg_handle/0

-type reg_handle() :: reference().

stream_handle/0

-type stream_handle() :: reference().

stream_open_flags/0

-type stream_open_flags() :: 0 | 1 | 2.

stream_opts/0

-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(),
            dynamic() => dynamic()}.

stream_start_flags/0

-type stream_start_flags() :: 0 | 1 | 2 | 4 | 8.

uint16/0

-type uint16() :: 0..1 bsl 16 - 1.

uint32/0

-type uint32() :: 0..1 bsl 32 - 1.

uint62/0

-type uint62() :: 0..1 bsl 62 - 1.

uint64/0

-type uint64() :: 0..1 bsl 64 - 1.

Callbacks

handle_call/3

(optional)
-callback handle_call(Req :: term(), gen_server:from(), cb_state()) -> cb_ret().
Handle API call with callback state.

handle_continue/2

(optional)
-callback handle_continue(Cont :: term(), cb_state()) -> cb_ret().
Handle continue from other callbacks with callback state.

handle_info/2

(optional)
-callback handle_info(Info :: term(), cb_state()) -> cb_ret().
Handle unhandled info with callback state.

handle_stream_data/4

(optional)
-callback handle_stream_data(stream_handle(), binary(), recv_data_props(), cb_state()) -> cb_ret().
Stream handle data

passive/3

-callback passive(stream_handle(), undefined, cb_state()) -> cb_ret().
Stream now in 'passive' mode.

peer_accepted/3

(optional)
-callback peer_accepted(connection_handle(), stream_handle(), cb_state()) -> cb_ret().
Handle stream 'peer_accepted'. The stream which **was not accepted** due to peer flow control is now accepted by the peer.

peer_receive_aborted/3

-callback peer_receive_aborted(stream_handle(), error_code(), cb_state()) -> cb_ret().
Handle stream peer_receive_aborted

peer_send_aborted/3

-callback peer_send_aborted(stream_handle(), error_code(), cb_state()) -> cb_ret().
Handle stream peer_send_aborted.

peer_send_shutdown/3

-callback peer_send_shutdown(stream_handle(), undefined, cb_state()) -> cb_ret().
Handle stream peer_send_shutdown.

send_complete/3

(optional)
-callback send_complete(stream_handle(), IsCanceled :: boolean(), cb_state()) -> cb_ret().
Handle send completed.

send_shutdown_complete/3

-callback send_shutdown_complete(stream_handle(), IsGraceful :: boolean(), cb_state()) -> cb_ret().
Handle stream send_shutdown_complete. Happen immediately on an abortive send or after a graceful send has been acknowledged by the peer.

start_completed/3

(optional)
-callback start_completed(stream_handle(), stream_start_completed_props(), cb_state()) -> cb_ret().
Handle local initiated stream start completed

stream_closed/3

-callback stream_closed(stream_handle(), stream_closed_props(), cb_state()) -> cb_ret().
Handle stream closed, Both endpoints of sending and receiving of the stream have been shut down.

Functions

start(CallbackModule, Connection, Opts, StartOpts)

start_link(CallbackModule, Connection, Opts)

start_link(CallbackModule, Connection, Opts, StartOpts)