Go to the documentation of this file.
27 #include "absl/strings/str_format.h"
52 *
p++ =
static_cast<uint8_t>(opaque_8bytes >> 56);
53 *
p++ =
static_cast<uint8_t>(opaque_8bytes >> 48);
54 *
p++ =
static_cast<uint8_t>(opaque_8bytes >> 40);
55 *
p++ =
static_cast<uint8_t>(opaque_8bytes >> 32);
56 *
p++ =
static_cast<uint8_t>(opaque_8bytes >> 24);
57 *
p++ =
static_cast<uint8_t>(opaque_8bytes >> 16);
58 *
p++ =
static_cast<uint8_t>(opaque_8bytes >> 8);
59 *
p++ =
static_cast<uint8_t>(opaque_8bytes);
86 while (
p->byte != 8 &&
cur !=
end) {
87 p->opaque_8bytes |= ((
static_cast<uint64_t>(*cur)) << (56 - 8 *
p->byte));
100 t->ping_recv_state.last_ping_recv_time +
101 t->ping_policy.min_recv_ping_interval_without_data;
103 if (t->keepalive_permit_without_calls == 0 &&
108 next_allowed_ping = t->ping_recv_state.last_ping_recv_time +
112 if (next_allowed_ping >
now) {
116 t->ping_recv_state.last_ping_recv_time =
now;
119 if (t->ping_ack_count == t->ping_ack_capacity) {
120 t->ping_ack_capacity =
121 std::max(t->ping_ack_capacity * 3 / 2,
size_t(3));
123 t->ping_acks, t->ping_ack_capacity *
sizeof(*t->ping_acks)));
125 t->num_pending_induced_frames++;
126 t->ping_acks[t->ping_ack_count++] =
p->opaque_8bytes;
static constexpr Duration Hours(int64_t hours)
ABSL_MUST_USE_RESULT std::string StrFormat(const FormatSpec< Args... > &format, const Args &... args)
grpc_error_handle grpc_chttp2_ping_parser_begin_frame(grpc_chttp2_ping_parser *parser, uint32_t length, uint8_t flags)
void grpc_chttp2_add_ping_strike(grpc_chttp2_transport *t)
#define GRPC_SLICE_MALLOC(len)
void grpc_chttp2_ack_ping(grpc_chttp2_transport *t, uint64_t id)
static bool g_disable_ping_ack
GPRAPI void * gpr_realloc(void *p, size_t size)
unsigned __int64 uint64_t
#define GRPC_CHTTP2_FRAME_PING
#define GRPC_SLICE_START_PTR(slice)
grpc_slice grpc_chttp2_ping_create(uint8_t ack, uint64_t opaque_8bytes)
#define GRPC_SLICE_END_PTR(slice)
size_t grpc_chttp2_stream_map_size(grpc_chttp2_stream_map *map)
@ GRPC_CHTTP2_INITIATE_WRITE_PING_RESPONSE
void grpc_set_disable_ping_ack(bool disable_ping_ack)
void grpc_chttp2_initiate_write(grpc_chttp2_transport *t, grpc_chttp2_initiate_write_reason reason)
#define GRPC_ERROR_CREATE_FROM_CPP_STRING(desc)
grpc_error_handle grpc_chttp2_ping_parser_parse(void *parser, grpc_chttp2_transport *t, grpc_chttp2_stream *, const grpc_slice &slice, int is_last)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:22