34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_STREAM_ENCODER_H
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_STREAM_ENCODER_H
37 #include "src/core/transport/chttp2/frame.h"
38 #include "src/core/transport/metadata.h"
39 #include "src/core/transport/stream_op.h"
40 #include <grpc/support/port_platform.h>
41 #include <grpc/support/slice.h>
42 #include <grpc/support/slice_buffer.h>
44 #define GRPC_CHTTP2_HPACKC_NUM_FILTERS 256
45 #define GRPC_CHTTP2_HPACKC_NUM_VALUES 256
46 #define GRPC_CHTTP2_HPACKC_MAX_TABLE_ELEMS (4096 / 32)
49 gpr_uint32 filter_elems_sum;
51 gpr_uint32 tail_remote_index;
52 gpr_uint16 table_size;
53 gpr_uint16 table_elems;
60 gpr_uint8 filter_elems[GRPC_CHTTP2_HPACKC_NUM_FILTERS];
69 grpc_mdstr *entries_keys[GRPC_CHTTP2_HPACKC_NUM_VALUES];
70 grpc_mdelem *entries_elems[GRPC_CHTTP2_HPACKC_NUM_VALUES];
71 gpr_uint32 indices_keys[GRPC_CHTTP2_HPACKC_NUM_VALUES];
72 gpr_uint32 indices_elems[GRPC_CHTTP2_HPACKC_NUM_VALUES];
74 gpr_uint16 table_elem_size[GRPC_CHTTP2_HPACKC_MAX_TABLE_ELEMS];
83 gpr_uint32 grpc_chttp2_preencode(
grpc_stream_op *inops,
size_t *inops_count,
84 gpr_uint32 max_flow_controlled_bytes,
88 void grpc_chttp2_encode(
grpc_stream_op *ops,
size_t ops_count,
int eof,
Definition: stream_encoder.h:48
Definition: metadata.h:70
Definition: slice_buffer.h:48
Definition: metadata.c:83
Definition: metadata.h:78
Definition: stream_op.h:117
Definition: stream_op.h:133