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)
102 size_t extra_headers_size,
void grpc_chttp2_hpack_compressor_destroy(grpc_chttp2_hpack_compressor *c)
Definition: hpack_encoder.cc:772
#define GRPC_CHTTP2_HPACKC_NUM_VALUES
Definition: hpack_encoder.h:33
void grpc_chttp2_hpack_compressor_set_max_usable_size(grpc_chttp2_hpack_compressor *c, uint32_t max_table_size)
Definition: hpack_encoder.cc:783
void grpc_chttp2_hpack_compressor_init(grpc_chttp2_hpack_compressor *c)
Definition: hpack_encoder.cc:761
grpc_core::TraceFlag grpc_http_trace
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:834
void grpc_chttp2_hpack_compressor_set_max_table_size(grpc_chttp2_hpack_compressor *c, uint32_t max_table_size)
Definition: hpack_encoder.cc:809
Definition: hpack_encoder.h:41
uint32_t table_elems
Definition: hpack_encoder.h:51
uint16_t * table_elem_size
Definition: hpack_encoder.h:52
uint32_t cap_table_elems
Definition: hpack_encoder.h:44
uint32_t index
Definition: hpack_encoder.h:70
uint32_t max_table_elems
Definition: hpack_encoder.h:43
uint32_t table_size
Definition: hpack_encoder.h:50
uint32_t tail_remote_index
Definition: hpack_encoder.h:49
uint32_t filter_elems_sum
Definition: hpack_encoder.h:62
struct grpc_chttp2_hpack_compressor::@4 elem_table
struct grpc_chttp2_hpack_compressor::@5 key_table
grpc_mdelem value
Definition: hpack_encoder.h:69
struct grpc_chttp2_hpack_compressor::@4::@6 entries[(1<< 6)]
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
uint8_t filter_elems[(1<< 6)]
Definition: hpack_encoder.h:63
uint32_t max_table_size
Definition: hpack_encoder.h:42
grpc_slice_refcount * value
Definition: hpack_encoder.h:80
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
Definition: metadata.h:98
Represents an expandable array of slices, to be interpreted as a single item.
Definition: slice.h:78
Definition: slice_internal.h:100
Definition: transport.h:122