VLC 4.0.0-dev
|
Data Structures | |
struct | vlc_h2_frame |
struct | vlc_h2_parser_cbs |
Macros | |
#define | VLC_H2_MAX_HEADER_TABLE 4096 /* Header (compression) table size */ |
#define | VLC_H2_MAX_STREAMS 0 /* Concurrent peer-initiated streams */ |
#define | VLC_H2_INIT_WINDOW 1048575 /* Initial congestion window size */ |
#define | VLC_H2_MAX_FRAME 1048576 /* Frame size */ |
#define | VLC_H2_MAX_HEADER_LIST 65536 /* Header (decompressed) list size */ |
#define | VLC_H2_DEFAULT_MAX_HEADER_TABLE 4096 |
#define | VLC_H2_DEFAULT_INIT_WINDOW 65535 |
#define | VLC_H2_MIN_MAX_FRAME 16384 |
#define | VLC_H2_DEFAULT_MAX_FRAME 16384 |
#define | VLC_H2_MAX_MAX_FRAME 16777215 |
#define | VLC_H2_MAX_HEADERS 255 |
#define | vlc_h2_frame_data_get(f, l) |
Functions | |
size_t | vlc_h2_frame_size (const struct vlc_h2_frame *) |
struct vlc_h2_frame * | vlc_h2_frame_headers (uint_fast32_t stream_id, uint_fast32_t mtu, bool eos, unsigned count, const char *const headers[][2]) |
struct vlc_h2_frame * | vlc_h2_frame_data (uint_fast32_t stream_id, const void *buf, size_t len, bool eos) |
struct vlc_h2_frame * | vlc_h2_frame_rst_stream (uint_fast32_t stream_id, uint_fast32_t error_code) |
struct vlc_h2_frame * | vlc_h2_frame_settings (void) |
struct vlc_h2_frame * | vlc_h2_frame_settings_ack (void) |
struct vlc_h2_frame * | vlc_h2_frame_ping (uint64_t opaque) |
struct vlc_h2_frame * | vlc_h2_frame_pong (uint64_t opaque) |
struct vlc_h2_frame * | vlc_h2_frame_goaway (uint_fast32_t last_stream_id, uint_fast32_t error_code) |
struct vlc_h2_frame * | vlc_h2_frame_window_update (uint_fast32_t stream_id, uint_fast32_t credit) |
void | vlc_h2_frame_dump (void *, const struct vlc_h2_frame *, const char *) |
const char * | vlc_h2_strerror (uint_fast32_t) |
const char * | vlc_h2_setting_name (uint_fast16_t) |
struct vlc_h2_parser * | vlc_h2_parse_init (void *ctx, const struct vlc_h2_parser_cbs *cbs) |
int | vlc_h2_parse (struct vlc_h2_parser *, struct vlc_h2_frame *) |
void | vlc_h2_parse_destroy (struct vlc_h2_parser *) |
const uint8_t * | vlc_h2_frame_data_get (const struct vlc_h2_frame *f, size_t *restrict len) |
#define VLC_H2_DEFAULT_INIT_WINDOW 65535 |
#define VLC_H2_DEFAULT_MAX_FRAME 16384 |
#define VLC_H2_DEFAULT_MAX_HEADER_TABLE 4096 |
#define vlc_h2_frame_data_get | ( | f, | |
l | |||
) |
#define VLC_H2_INIT_WINDOW 1048575 /* Initial congestion window size */ |
#define VLC_H2_MAX_FRAME 1048576 /* Frame size */ |
#define VLC_H2_MAX_HEADER_LIST 65536 /* Header (decompressed) list size */ |
#define VLC_H2_MAX_HEADER_TABLE 4096 /* Header (compression) table size */ |
#define VLC_H2_MAX_HEADERS 255 |
#define VLC_H2_MAX_MAX_FRAME 16777215 |
#define VLC_H2_MAX_STREAMS 0 /* Concurrent peer-initiated streams */ |
#define VLC_H2_MIN_MAX_FRAME 16384 |
enum vlc_h2_error |
enum vlc_h2_setting |
struct vlc_h2_frame * vlc_h2_frame_data | ( | uint_fast32_t | stream_id, |
const void * | buf, | ||
size_t | len, | ||
bool | eos | ||
) |
References likely, VLC_H2_DATA_END_STREAM, vlc_h2_frame_alloc(), VLC_H2_FRAME_DATA, and vlc_h2_frame_payload.
Referenced by vlc_h2_stream_write().
const uint8_t * vlc_h2_frame_data_get | ( | const struct vlc_h2_frame * | f, |
size_t *restrict | len | ||
) |
void vlc_h2_frame_dump | ( | void * | opaque, |
const struct vlc_h2_frame * | f, | ||
const char * | msg | ||
) |
References vlc_h2_frame_flags(), vlc_h2_frame_id(), vlc_h2_frame_length(), vlc_h2_frame_type(), vlc_h2_type_name(), and vlc_http_dbg().
Referenced by vlc_h2_conn_queue(), vlc_h2_conn_queue_prio(), and vlc_h2_recv_thread().
struct vlc_h2_frame * vlc_h2_frame_goaway | ( | uint_fast32_t | last_stream_id, |
uint_fast32_t | error_code | ||
) |
References likely, p, SetDWBE(), vlc_h2_frame_alloc(), VLC_H2_FRAME_GOAWAY, and vlc_h2_frame_payload.
Referenced by vlc_h2_error(), and vlc_h2_reset().
struct vlc_h2_frame * vlc_h2_frame_headers | ( | uint_fast32_t | stream_id, |
uint_fast32_t | mtu, | ||
bool | eos, | ||
unsigned | count, | ||
const char *const | headers[][2] | ||
) |
struct vlc_h2_frame * vlc_h2_frame_ping | ( | uint64_t | opaque | ) |
References likely, vlc_h2_frame_alloc(), vlc_h2_frame_payload, and VLC_H2_FRAME_PING.
struct vlc_h2_frame * vlc_h2_frame_pong | ( | uint64_t | opaque | ) |
References likely, vlc_h2_frame_alloc(), vlc_h2_frame_payload, VLC_H2_FRAME_PING, and VLC_H2_PING_ACK.
Referenced by vlc_h2_ping().
struct vlc_h2_frame * vlc_h2_frame_rst_stream | ( | uint_fast32_t | stream_id, |
uint_fast32_t | error_code | ||
) |
References likely, SetDWBE(), vlc_h2_frame_alloc(), vlc_h2_frame_payload, and VLC_H2_FRAME_RST_STREAM.
Referenced by vlc_h2_stream_error().
struct vlc_h2_frame * vlc_h2_frame_settings | ( | void | ) |
References p, SetDWBE(), SetWBE(), unlikely, VLC_H2_DEFAULT_INIT_WINDOW, VLC_H2_DEFAULT_MAX_FRAME, VLC_H2_DEFAULT_MAX_HEADER_TABLE, vlc_h2_frame_alloc(), vlc_h2_frame_payload, VLC_H2_FRAME_SETTINGS, VLC_H2_INIT_WINDOW, VLC_H2_MAX_FRAME, VLC_H2_MAX_HEADER_LIST, VLC_H2_MAX_HEADER_TABLE, VLC_H2_MAX_STREAMS, VLC_H2_SETTING_ENABLE_PUSH, VLC_H2_SETTING_HEADER_TABLE_SIZE, VLC_H2_SETTING_INITIAL_WINDOW_SIZE, VLC_H2_SETTING_MAX_CONCURRENT_STREAMS, VLC_H2_SETTING_MAX_FRAME_SIZE, and VLC_H2_SETTING_MAX_HEADER_LIST_SIZE.
Referenced by vlc_h2_conn_create().
struct vlc_h2_frame * vlc_h2_frame_settings_ack | ( | void | ) |
References vlc_h2_frame_alloc(), VLC_H2_FRAME_SETTINGS, and VLC_H2_SETTINGS_ACK.
Referenced by vlc_h2_settings_done().
size_t vlc_h2_frame_size | ( | const struct vlc_h2_frame * | f | ) |
References vlc_h2_frame_length().
Referenced by vlc_h2_frame_send(), vlc_h2_output_dequeue(), vlc_h2_output_queue(), and vlc_h2_stream_read().
struct vlc_h2_frame * vlc_h2_frame_window_update | ( | uint_fast32_t | stream_id, |
uint_fast32_t | credit | ||
) |
References likely, p, SetDWBE(), vlc_h2_frame_alloc(), vlc_h2_frame_payload, and VLC_H2_FRAME_WINDOW_UPDATE.
Referenced by vlc_h2_stream_read(), and vlc_h2_window_status().
int vlc_h2_parse | ( | struct vlc_h2_parser * | p, |
struct vlc_h2_frame * | f | ||
) |
References vlc_h2_frame::next, p, vlc_h2_frame_id(), vlc_h2_frame_length(), and vlc_h2_parse_failed().
Referenced by vlc_h2_recv_thread().
void vlc_h2_parse_destroy | ( | struct vlc_h2_parser * | p | ) |
References hpack_decode_destroy(), and p.
Referenced by cleanup_parser(), and vlc_h2_recv_thread().
struct vlc_h2_parser * vlc_h2_parse_init | ( | void * | ctx, |
const struct vlc_h2_parser_cbs * | cbs | ||
) |
References vlc_h2_parser::cbs, hpack_decode_init(), p, unlikely, VLC_H2_MAX_HEADER_TABLE, and vlc_h2_parse_preface().
Referenced by vlc_h2_recv_thread().
const char * vlc_h2_setting_name | ( | uint_fast16_t | id | ) |
const char * vlc_h2_strerror | ( | uint_fast32_t | code | ) |
References VLC_H2_CANCEL, VLC_H2_COMPRESSION_ERROR, VLC_H2_CONNECT_ERROR, VLC_H2_ENHANCE_YOUR_CALM, VLC_H2_FLOW_CONTROL_ERROR, VLC_H2_FRAME_SIZE_ERROR, VLC_H2_HTTP_1_1_REQUIRED, VLC_H2_INADEQUATE_SECURITY, VLC_H2_INTERNAL_ERROR, VLC_H2_NO_ERROR, VLC_H2_PROTOCOL_ERROR, VLC_H2_REFUSED_STREAM, VLC_H2_SETTINGS_TIMEOUT, and VLC_H2_STREAM_CLOSED.
Referenced by vlc_h2_error(), vlc_h2_reset(), vlc_h2_stream_error(), and vlc_h2_stream_reset().