19 #ifndef GRPC_CORE_LIB_IOMGR_BUFFER_LIST_H
20 #define GRPC_CORE_LIB_IOMGR_BUFFER_LIST_H
24 #include "absl/types/optional.h"
64 absl::optional<uint32_t>
srtt;
99 #ifdef GRPC_LINUX_ERRQUEUE
100 grpc_core::tcp_info info;
115 #ifdef GRPC_LINUX_ERRQUEUE
120 : seq_no_(seq_no), arg_(arg), next_(
nullptr) {}
131 struct sock_extended_err* serr,
132 struct cmsghdr* opt_stats,
133 struct scm_timestamping* tss);
TracedBuffer is a class to keep track of timestamps for a specific buffer in the TCP layer.
Definition: buffer_list.h:147
static void Shutdown(grpc_core::TracedBuffer **, void *, grpc_error_handle shutdown_err)
Definition: buffer_list.h:150
#define GRPC_ERROR_UNREF(err)
Definition: error.h:254
grpc_error_handle error
Definition: lame_client.cc:54
Round Robin Policy.
Definition: backend_metric.cc:26
void grpc_tcp_set_write_timestamps_callback(void(*fn)(void *, grpc_core::Timestamps *, grpc_error_handle error))
Sets the callback function to call when timestamps for a write are collected.
Definition: buffer_list.cc:296
Analogous to struct timespec.
Definition: gpr_types.h:47
Definition: buffer_list.h:36
absl::optional< uint32_t > packet_delivered_ce
Definition: buffer_list.h:52
absl::optional< uint64_t > sndbuf_limited_usec
Definition: buffer_list.h:83
absl::optional< uint64_t > data_sent
Definition: buffer_list.h:56
absl::optional< uint64_t > data_notsent
Definition: buffer_list.h:58
absl::optional< uint32_t > packet_delivered
Definition: buffer_list.h:49
absl::optional< uint32_t > packet_spurious_retx
Definition: buffer_list.h:45
absl::optional< uint32_t > snd_ssthresh
Definition: buffer_list.h:68
absl::optional< uint32_t > packet_sent
Definition: buffer_list.h:47
absl::optional< uint32_t > congestion_window
Definition: buffer_list.h:66
absl::optional< uint64_t > rwnd_limited_usec
Definition: buffer_list.h:80
absl::optional< uint32_t > reordering
Definition: buffer_list.h:71
absl::optional< uint64_t > data_retx
Definition: buffer_list.h:54
absl::optional< uint32_t > packet_retx
Definition: buffer_list.h:42
absl::optional< uint64_t > pacing_rate
Definition: buffer_list.h:60
absl::optional< uint32_t > min_rtt
Definition: buffer_list.h:62
absl::optional< uint64_t > delivery_rate
Definition: buffer_list.h:38
absl::optional< uint32_t > srtt
Definition: buffer_list.h:64
absl::optional< bool > is_delivery_rate_app_limited
Definition: buffer_list.h:40
absl::optional< uint64_t > busy_usec
Definition: buffer_list.h:77
absl::optional< uint8_t > recurring_retrans
Definition: buffer_list.h:74
Definition: buffer_list.h:86
ConnectionMetrics metrics
Definition: buffer_list.h:88
gpr_timespec time
Definition: buffer_list.h:87
Definition: buffer_list.h:91
Timestamp sent_time
Definition: buffer_list.h:94
Timestamp sendmsg_time
Definition: buffer_list.h:92
Timestamp acked_time
Definition: buffer_list.h:95
Timestamp scheduled_time
Definition: buffer_list.h:93
uint32_t byte_offset
Definition: buffer_list.h:97
Definition: error_internal.h:41