19 #ifndef GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HPACK_ENCODER_H 20 #define GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_HPACK_ENCODER_H 32 #define GRPC_CHTTP2_HPACKC_NUM_VALUES_BITS 6 33 #define GRPC_CHTTP2_HPACKC_NUM_VALUES (1 << GRPC_CHTTP2_HPACKC_NUM_VALUES_BITS) 35 #define GRPC_CHTTP2_HPACKC_INITIAL_TABLE_SIZE 4096 37 #define GRPC_CHTTP2_HPACKC_MAX_TABLE_SIZE (1024 * 1024) 103 size_t extra_headers_size,
Definition: slice_internal.h:100
grpc_core::TraceFlag grpc_http_trace
Definition: hpack_encoder.h:41
void grpc_chttp2_hpack_compressor_init(grpc_chttp2_hpack_compressor *c)
Definition: hpack_encoder.cc:749
uint16_t * table_elem_size
Definition: hpack_encoder.h:52
uint8_t advertise_table_size_change
if non-zero, advertise to the decoder that we'll start using a table of this size ...
Definition: hpack_encoder.h:55
struct grpc_chttp2_hpack_compressor::@3 elem_table
uint32_t max_table_elems
Definition: hpack_encoder.h:43
Represents an expandable array of slices, to be interpreted as a single item.
Definition: slice.h:78
void grpc_chttp2_hpack_compressor_set_max_usable_size(grpc_chttp2_hpack_compressor *c, uint32_t max_table_size)
Definition: hpack_encoder.cc:771
struct grpc_chttp2_hpack_compressor::@4 key_table
grpc_slice_refcount * value
Definition: hpack_encoder.h:80
uint32_t index
Definition: hpack_encoder.h:70
Definition: metadata.h:98
uint32_t max_usable_size
maximum number of bytes we'll use for the decode table (to guard against peers ooming us by setting d...
Definition: hpack_encoder.h:47
#define GRPC_CHTTP2_HPACKC_NUM_VALUES
Definition: hpack_encoder.h:33
void grpc_chttp2_hpack_compressor_destroy(grpc_chttp2_hpack_compressor *c)
Definition: hpack_encoder.cc:760
uint32_t tail_remote_index
Definition: hpack_encoder.h:49
Definition: transport.h:122
void grpc_chttp2_encode_header(grpc_chttp2_hpack_compressor *c, grpc_mdelem **extra_headers, size_t extra_headers_size, grpc_metadata_batch *metadata, const grpc_encode_header_options *options, grpc_slice_buffer *outbuf)
Definition: hpack_encoder.cc:822
uint32_t table_size
Definition: hpack_encoder.h:50
grpc_mdelem value
Definition: hpack_encoder.h:69
void grpc_chttp2_hpack_compressor_set_max_table_size(grpc_chttp2_hpack_compressor *c, uint32_t max_table_size)
Definition: hpack_encoder.cc:797
uint32_t cap_table_elems
Definition: hpack_encoder.h:44
uint32_t max_table_size
Definition: hpack_encoder.h:42
uint8_t filter_elems[(1<< 6)]
Definition: hpack_encoder.h:63
uint32_t filter_elems_sum
Definition: hpack_encoder.h:62
struct grpc_chttp2_hpack_compressor::@3::@5 entries[(1<< 6)]
uint32_t table_elems
Definition: hpack_encoder.h:51