This module defines the h2_frame behaviour.
Required callback functions: read_binary/2, format/1, to_binary/1.
error_code() = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13
frame() = {header(), payload()}
frame_type() = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | integer()
header() = #frame_header{length = non_neg_integer() | undefined, type = frame_type() | undefined, flags = non_neg_integer(), stream_id = stream_id()}
payload() = h2_frame_data:payload() | h2_frame_headers:payload() | h2_frame_priority:payload() | h2_frame_rst_stream:payload() | h2_frame_settings:payload() | h2_frame_push_promise:payload() | h2_frame_ping:payload() | h2_frame_goaway:payload() | h2_frame_window_update:payload() | h2_frame_continuation:payload()
socket() = {gen_tcp, inet:socket() | undefined} | {ssl, ssl:sslsocket() | undefined}
stream_id() = non_neg_integer()
| format/1 | |
| format_header/1 | |
| format_payload/1 | |
| from_binary/1 | |
| header_to_binary/1 | |
| read/1 | |
| read/2 | |
| read_binary_frame_header/1 | |
| read_binary_payload/2 | |
| recv/1 | |
| to_binary/1 |
format(X1::frame()) -> iodata()
format_header(Frame_header::header()) -> iodata()
format_payload(X1::frame()) -> iodata()
from_binary(Bin::binary()) -> [frame()]
header_to_binary(Frame_header::header()) -> iodata()
read(Socket::socket(), Timeout::timeout()) -> frame() | {error, closed | inet:posix()}
read_binary_frame_header(X1::binary()) -> {header(), binary()}
read_binary_payload(Bin::binary(), Header::header()) -> {ok, payload(), binary()} | {error, error_code()} | {error, stream_id(), error_code(), binary()}
recv(Bin::binary() | {header(), binary()}) -> {ok, frame(), binary()} | {not_enough_header, binary()} | {not_enough_payload, header(), binary()} | {error, stream_id(), error_code(), binary()}
to_binary(X1::frame()) -> iodata()
Generated by EDoc