VLC  3.0.0-git
Data Structures | Macros | Enumerations | Functions
Collaboration diagram for HTTP/2 frames:

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_DEFAULT_MAX_FRAME   16384
 
#define VLC_H2_MAX_HEADERS   255
 

Enumerations

enum  vlc_h2_error {
  VLC_H2_NO_ERROR, VLC_H2_PROTOCOL_ERROR, VLC_H2_INTERNAL_ERROR, VLC_H2_FLOW_CONTROL_ERROR,
  VLC_H2_SETTINGS_TIMEOUT, VLC_H2_STREAM_CLOSED, VLC_H2_FRAME_SIZE_ERROR, VLC_H2_REFUSED_STREAM,
  VLC_H2_CANCEL, VLC_H2_COMPRESSION_ERROR, VLC_H2_CONNECT_ERROR, VLC_H2_ENHANCE_YOUR_CALM,
  VLC_H2_INADEQUATE_SECURITY, VLC_H2_HTTP_1_1_REQUIRED
}
 
enum  vlc_h2_setting {
  VLC_H2_SETTING_HEADER_TABLE_SIZE = 0x0001, VLC_H2_SETTING_ENABLE_PUSH, VLC_H2_SETTING_MAX_CONCURRENT_STREAMS, VLC_H2_SETTING_INITIAL_WINDOW_SIZE,
  VLC_H2_SETTING_MAX_FRAME_SIZE, VLC_H2_SETTING_MAX_HEADER_LIST_SIZE
}
 

Functions

size_t vlc_h2_frame_size (const struct vlc_h2_frame *)
 
struct vlc_h2_framevlc_h2_frame_headers (uint_fast32_t stream_id, uint_fast32_t mtu, bool eos, unsigned count, const char *const headers[][2])
 
struct vlc_h2_framevlc_h2_frame_data (uint_fast32_t stream_id, const void *buf, size_t len, bool eos)
 
struct vlc_h2_framevlc_h2_frame_rst_stream (uint_fast32_t stream_id, uint_fast32_t error_code)
 
struct vlc_h2_framevlc_h2_frame_settings (void)
 
struct vlc_h2_framevlc_h2_frame_settings_ack (void)
 
struct vlc_h2_framevlc_h2_frame_ping (uint64_t opaque)
 
struct vlc_h2_framevlc_h2_frame_pong (uint64_t opaque)
 
struct vlc_h2_framevlc_h2_frame_goaway (uint_fast32_t last_stream_id, uint_fast32_t error_code)
 
struct vlc_h2_framevlc_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_parservlc_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)
 

Detailed Description

Macro Definition Documentation

◆ VLC_H2_DEFAULT_INIT_WINDOW

#define VLC_H2_DEFAULT_INIT_WINDOW   65535

Referenced by vlc_h2_frame_settings().

◆ VLC_H2_DEFAULT_MAX_FRAME

#define VLC_H2_DEFAULT_MAX_FRAME   16384

◆ VLC_H2_DEFAULT_MAX_HEADER_TABLE

#define VLC_H2_DEFAULT_MAX_HEADER_TABLE   4096

Referenced by vlc_h2_frame_settings().

◆ VLC_H2_INIT_WINDOW

#define VLC_H2_INIT_WINDOW   1048575 /* Initial congestion window size */

◆ VLC_H2_MAX_FRAME

#define VLC_H2_MAX_FRAME   1048576 /* Frame size */

◆ VLC_H2_MAX_HEADER_LIST

#define VLC_H2_MAX_HEADER_LIST   65536 /* Header (decompressed) list size */

Referenced by vlc_h2_frame_settings().

◆ VLC_H2_MAX_HEADER_TABLE

#define VLC_H2_MAX_HEADER_TABLE   4096 /* Header (compression) table size */

◆ VLC_H2_MAX_HEADERS

#define VLC_H2_MAX_HEADERS   255

◆ VLC_H2_MAX_STREAMS

#define VLC_H2_MAX_STREAMS   0 /* Concurrent peer-initiated streams */

Referenced by vlc_h2_frame_settings().

Enumeration Type Documentation

◆ vlc_h2_error

Enumerator
VLC_H2_NO_ERROR 
VLC_H2_PROTOCOL_ERROR 
VLC_H2_INTERNAL_ERROR 
VLC_H2_FLOW_CONTROL_ERROR 
VLC_H2_SETTINGS_TIMEOUT 
VLC_H2_STREAM_CLOSED 
VLC_H2_FRAME_SIZE_ERROR 
VLC_H2_REFUSED_STREAM 
VLC_H2_CANCEL 
VLC_H2_COMPRESSION_ERROR 
VLC_H2_CONNECT_ERROR 
VLC_H2_ENHANCE_YOUR_CALM 
VLC_H2_INADEQUATE_SECURITY 
VLC_H2_HTTP_1_1_REQUIRED 

◆ vlc_h2_setting

Enumerator
VLC_H2_SETTING_HEADER_TABLE_SIZE 
VLC_H2_SETTING_ENABLE_PUSH 
VLC_H2_SETTING_MAX_CONCURRENT_STREAMS 
VLC_H2_SETTING_INITIAL_WINDOW_SIZE 
VLC_H2_SETTING_MAX_FRAME_SIZE 
VLC_H2_SETTING_MAX_HEADER_LIST_SIZE 

Function Documentation

◆ vlc_h2_frame_data()

struct vlc_h2_frame* vlc_h2_frame_data ( uint_fast32_t  stream_id,
const void *  buf,
size_t  len,
bool  eos 
)

◆ vlc_h2_frame_data_get()

const uint8_t* vlc_h2_frame_data_get ( const struct vlc_h2_frame f,
size_t *restrict  len 
)

◆ vlc_h2_frame_dump()

void vlc_h2_frame_dump ( void *  ,
const struct vlc_h2_frame ,
const char *   
)

◆ vlc_h2_frame_goaway()

struct vlc_h2_frame* vlc_h2_frame_goaway ( uint_fast32_t  last_stream_id,
uint_fast32_t  error_code 
)

◆ vlc_h2_frame_headers()

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

◆ vlc_h2_frame_ping()

struct vlc_h2_frame* vlc_h2_frame_ping ( uint64_t  opaque)

◆ vlc_h2_frame_pong()

struct vlc_h2_frame* vlc_h2_frame_pong ( uint64_t  opaque)

◆ vlc_h2_frame_rst_stream()

struct vlc_h2_frame* vlc_h2_frame_rst_stream ( uint_fast32_t  stream_id,
uint_fast32_t  error_code 
)

◆ vlc_h2_frame_settings()

struct vlc_h2_frame* vlc_h2_frame_settings ( void  )

◆ vlc_h2_frame_settings_ack()

struct vlc_h2_frame* vlc_h2_frame_settings_ack ( void  )

◆ vlc_h2_frame_size()

size_t vlc_h2_frame_size ( const struct vlc_h2_frame )

◆ vlc_h2_frame_window_update()

struct vlc_h2_frame* vlc_h2_frame_window_update ( uint_fast32_t  stream_id,
uint_fast32_t  credit 
)

◆ vlc_h2_parse()

int vlc_h2_parse ( struct vlc_h2_parser ,
struct vlc_h2_frame  
)

◆ vlc_h2_parse_destroy()

void vlc_h2_parse_destroy ( struct vlc_h2_parser )

◆ vlc_h2_parse_init()

struct vlc_h2_parser* vlc_h2_parse_init ( void *  ctx,
const struct vlc_h2_parser_cbs cbs 
)

◆ vlc_h2_setting_name()

const char* vlc_h2_setting_name ( uint_fast16_t  )

◆ vlc_h2_strerror()

const char* vlc_h2_strerror ( uint_fast32_t  )