Module h2_frame

This module defines the h2_frame behaviour.
Required callback functions: read_binary/2, format/1, to_binary/1.

Data Types

error_code()

error_code() = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13

frame()

frame() = {header(), payload()}

frame_type()

frame_type() = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | integer()

header()

header() = #frame_header{length = non_neg_integer() | undefined, type = frame_type() | undefined, flags = non_neg_integer(), stream_id = stream_id()}

payload()

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()

socket() = {gen_tcp, inet:socket() | undefined} | {ssl, ssl:sslsocket() | undefined}

stream_id()

stream_id() = non_neg_integer()

Function Index

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

Function Details

format/1

format(X1::frame()) -> iodata()

format_header/1

format_header(Frame_header::header()) -> iodata()

format_payload/1

format_payload(X1::frame()) -> iodata()

from_binary/1

from_binary(Bin::binary()) -> [frame()]

header_to_binary/1

header_to_binary(Frame_header::header()) -> iodata()

read/1

read(Socket::socket()) -> frame()

read/2

read(Socket::socket(), Timeout::timeout()) -> frame() | {error, closed | inet:posix()}

read_binary_frame_header/1

read_binary_frame_header(X1::binary()) -> {header(), binary()}

read_binary_payload/2

read_binary_payload(Bin::binary(), Header::header()) -> {ok, payload(), binary()} | {error, error_code()} | {error, stream_id(), error_code(), binary()}

recv/1

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/1

to_binary(X1::frame()) -> iodata()


Generated by EDoc