GRPC Core  9.0.0
Data Structures | Macros | Functions
hpack_table.h File Reference
#include <grpc/support/port_platform.h>
#include <grpc/slice.h>
#include "src/core/lib/gprpp/memory.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/transport/metadata.h"
#include "src/core/lib/transport/static_metadata.h"

Go to the source code of this file.

Data Structures

struct  grpc_chttp2_hptbl
 
struct  grpc_chttp2_hptbl_find_result
 

Macros

#define GRPC_CHTTP2_LAST_STATIC_ENTRY   61
 
#define GRPC_CHTTP2_INITIAL_HPACK_TABLE_SIZE   4096
 
#define GRPC_CHTTP2_MAX_HPACK_TABLE_SIZE   GRPC_CHTTP2_INITIAL_HPACK_TABLE_SIZE
 
#define GRPC_CHTTP2_HPACK_ENTRY_OVERHEAD   32
 

Functions

void grpc_chttp2_hptbl_destroy (grpc_chttp2_hptbl *tbl)
 
void grpc_chttp2_hptbl_set_max_bytes (grpc_chttp2_hptbl *tbl, uint32_t max_bytes)
 
grpc_errorgrpc_chttp2_hptbl_set_current_table_size (grpc_chttp2_hptbl *tbl, uint32_t bytes)
 
grpc_mdelem grpc_chttp2_hptbl_lookup_dynamic_index (const grpc_chttp2_hptbl *tbl, uint32_t tbl_index)
 
grpc_mdelem grpc_chttp2_hptbl_lookup_ref_dynamic_index (const grpc_chttp2_hptbl *tbl, uint32_t tbl_index)
 
template<bool take_ref = false>
grpc_mdelem grpc_chttp2_hptbl_lookup (const grpc_chttp2_hptbl *tbl, uint32_t index)
 
grpc_errorgrpc_chttp2_hptbl_add (grpc_chttp2_hptbl *tbl, grpc_mdelem md) GRPC_MUST_USE_RESULT
 
size_t grpc_chttp2_get_size_in_hpack_table (grpc_mdelem elem, bool use_true_binary_metadata)
 
uintptr_t grpc_chttp2_get_static_hpack_table_index (grpc_mdelem md)
 
grpc_chttp2_hptbl_find_result grpc_chttp2_hptbl_find (const grpc_chttp2_hptbl *tbl, grpc_mdelem md)
 

Macro Definition Documentation

◆ GRPC_CHTTP2_HPACK_ENTRY_OVERHEAD

#define GRPC_CHTTP2_HPACK_ENTRY_OVERHEAD   32

◆ GRPC_CHTTP2_INITIAL_HPACK_TABLE_SIZE

#define GRPC_CHTTP2_INITIAL_HPACK_TABLE_SIZE   4096

◆ GRPC_CHTTP2_LAST_STATIC_ENTRY

#define GRPC_CHTTP2_LAST_STATIC_ENTRY   61

◆ GRPC_CHTTP2_MAX_HPACK_TABLE_SIZE

#define GRPC_CHTTP2_MAX_HPACK_TABLE_SIZE   GRPC_CHTTP2_INITIAL_HPACK_TABLE_SIZE

Function Documentation

◆ grpc_chttp2_get_size_in_hpack_table()

size_t grpc_chttp2_get_size_in_hpack_table ( grpc_mdelem  elem,
bool  use_true_binary_metadata 
)

◆ grpc_chttp2_get_static_hpack_table_index()

uintptr_t grpc_chttp2_get_static_hpack_table_index ( grpc_mdelem  md)
inline

◆ grpc_chttp2_hptbl_add()

grpc_error* grpc_chttp2_hptbl_add ( grpc_chttp2_hptbl tbl,
grpc_mdelem  md 
)

◆ grpc_chttp2_hptbl_destroy()

void grpc_chttp2_hptbl_destroy ( grpc_chttp2_hptbl tbl)

◆ grpc_chttp2_hptbl_find()

grpc_chttp2_hptbl_find_result grpc_chttp2_hptbl_find ( const grpc_chttp2_hptbl tbl,
grpc_mdelem  md 
)

◆ grpc_chttp2_hptbl_lookup()

template<bool take_ref = false>
grpc_mdelem grpc_chttp2_hptbl_lookup ( const grpc_chttp2_hptbl tbl,
uint32_t  index 
)
inline

◆ grpc_chttp2_hptbl_lookup_dynamic_index()

grpc_mdelem grpc_chttp2_hptbl_lookup_dynamic_index ( const grpc_chttp2_hptbl tbl,
uint32_t  tbl_index 
)

◆ grpc_chttp2_hptbl_lookup_ref_dynamic_index()

grpc_mdelem grpc_chttp2_hptbl_lookup_ref_dynamic_index ( const grpc_chttp2_hptbl tbl,
uint32_t  tbl_index 
)

◆ grpc_chttp2_hptbl_set_current_table_size()

grpc_error* grpc_chttp2_hptbl_set_current_table_size ( grpc_chttp2_hptbl tbl,
uint32_t  bytes 
)

◆ grpc_chttp2_hptbl_set_max_bytes()

void grpc_chttp2_hptbl_set_max_bytes ( grpc_chttp2_hptbl tbl,
uint32_t  max_bytes 
)