34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_SETTINGS_H
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_SETTINGS_H
37 #include <grpc/support/port_platform.h>
38 #include <grpc/support/slice.h>
39 #include "src/core/transport/chttp2/frame.h"
48 } grpc_chttp2_settings_parse_state;
52 GRPC_CHTTP2_SETTINGS_HEADER_TABLE_SIZE = 1,
53 GRPC_CHTTP2_SETTINGS_ENABLE_PUSH = 2,
54 GRPC_CHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS = 3,
55 GRPC_CHTTP2_SETTINGS_INITIAL_WINDOW_SIZE = 4,
56 GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE = 5,
57 GRPC_CHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE = 6,
58 GRPC_CHTTP2_NUM_SETTINGS
59 } grpc_chttp2_setting_id;
62 grpc_chttp2_settings_parse_state state;
63 gpr_uint32 *target_settings;
67 gpr_uint32 incoming_settings[GRPC_CHTTP2_NUM_SETTINGS];
71 GRPC_CHTTP2_CLAMP_INVALID_VALUE,
72 GRPC_CHTTP2_DISCONNECT_ON_INVALID_VALUE
73 } grpc_chttp2_invalid_value_behavior;
77 gpr_uint32 default_value;
80 grpc_chttp2_invalid_value_behavior invalid_value_behavior;
85 grpc_chttp2_settings_parameters[GRPC_CHTTP2_NUM_SETTINGS];
88 gpr_slice grpc_chttp2_settings_create(gpr_uint32 *old,
const gpr_uint32 *
new,
89 gpr_uint32 force_mask,
size_t count);
91 gpr_slice grpc_chttp2_settings_ack_create(
void);
93 grpc_chttp2_parse_error grpc_chttp2_settings_parser_begin_frame(
95 gpr_uint32 *settings);
96 grpc_chttp2_parse_error grpc_chttp2_settings_parser_parse(
Definition: frame_settings.h:75
Definition: frame_settings.h:61