Go to the documentation of this file.
27 #include "absl/base/attributes.h"
28 #include "absl/strings/str_format.h"
65 n += (new_settings[
i] != old_settings[
i] || (force_mask & (1
u <<
i)) != 0);
72 if (new_settings[
i] != old_settings[
i] || (force_mask & (1
u <<
i)) != 0) {
75 *
p++ =
static_cast<uint8_t>(new_settings[
i] >> 24);
76 *
p++ =
static_cast<uint8_t>(new_settings[
i] >> 16);
77 *
p++ =
static_cast<uint8_t>(new_settings[
i] >> 8);
78 *
p++ =
static_cast<uint8_t>(new_settings[
i]);
79 old_settings[
i] = new_settings[
i];
106 "non-empty settings ack frame received");
109 }
else if (
flags != 0) {
111 "invalid flags on settings frame");
112 }
else if (
length % 6 != 0) {
114 "settings frames must be a multiple of six bytes");
143 t->num_pending_induced_frames++;
147 if (t->notify_on_receive_settings !=
nullptr) {
149 t->notify_on_receive_settings,
151 t->notify_on_receive_settings =
nullptr;
216 "invalid value %u passed for %s",
parser->value, sp->
name));
221 t->initial_window_update +=
static_cast<int64_t>(
parser->value) -
222 parser->incoming_settings[
id];
226 t->is_client ?
"cli" :
"svr",
227 static_cast<int>(t->initial_window_update));
233 t->is_client ?
"CLI" :
"SVR", t->peer_string.c_str(),
const uint16_t grpc_setting_id_to_wire_id[]
@ GRPC_CHTTP2_CLAMP_INVALID_VALUE
grpc_core::TraceFlag grpc_flowctl_trace(false, "flowctl")
ABSL_MUST_USE_RESULT std::string StrFormat(const FormatSpec< Args... > &format, const Args &... args)
#define GRPC_CHTTP2_FLAG_ACK
#define GRPC_SLICE_MALLOC(len)
grpc_slice grpc_chttp2_settings_ack_create(void)
grpc_core::TraceFlag grpc_http_trace(false, "http")
OPENSSL_EXPORT pem_password_cb void * u
grpc_error_handle grpc_chttp2_settings_parser_parse(void *p, grpc_chttp2_transport *t, grpc_chttp2_stream *, const grpc_slice &slice, int is_last)
#define GRPC_TRACE_FLAG_ENABLED(f)
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
void grpc_chttp2_goaway_append(uint32_t last_stream_id, uint32_t error_code, const grpc_slice &debug_data, grpc_slice_buffer *slice_buffer)
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
#define GRPC_SLICE_START_PTR(slice)
GPRAPI grpc_slice grpc_slice_from_static_string(const char *source)
@ GRPC_CHTTP2_DISCONNECT_ON_INVALID_VALUE
grpc_chttp2_invalid_value_behavior invalid_value_behavior
bool grpc_wire_id_to_setting_id(uint32_t wire_id, grpc_chttp2_setting_id *out)
grpc_slice grpc_chttp2_settings_create(uint32_t *old_settings, const uint32_t *new_settings, uint32_t force_mask, size_t count)
grpc_error_handle grpc_chttp2_settings_parser_begin_frame(grpc_chttp2_settings_parser *parser, uint32_t length, uint8_t flags, uint32_t *settings)
#define GRPC_SLICE_END_PTR(slice)
#define GRPC_ERROR_CREATE_FROM_STATIC_STRING(desc)
static uint8_t * fill_header(uint8_t *out, uint32_t length, uint8_t flags)
GPRAPI void grpc_slice_buffer_add(grpc_slice_buffer *sb, grpc_slice slice)
T Clamp(T val, T min, T max)
#define GRPC_CHTTP2_FRAME_SETTINGS
#define GRPC_CHTTP2_NUM_SETTINGS
void grpc_chttp2_initiate_write(grpc_chttp2_transport *t, grpc_chttp2_initiate_write_reason reason)
#define GRPC_ERROR_CREATE_FROM_CPP_STRING(desc)
@ GRPC_CHTTP2_INITIATE_WRITE_SETTINGS_ACK
@ GRPC_CHTTP2_SETTINGS_INITIAL_WINDOW_SIZE
static void Run(const DebugLocation &location, grpc_closure *closure, grpc_error_handle error)
const grpc_chttp2_setting_parameters grpc_chttp2_settings_parameters[GRPC_CHTTP2_NUM_SETTINGS]
#define ABSL_FALLTHROUGH_INTENDED
if(p->owned &&p->wrapped !=NULL)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:22