Go to the documentation of this file.
33 std::memory_order_relaxed);
44 if (
count_.load(std::memory_order_relaxed) == 0) {
51 "[InfLenFIFOQueue PopFront] num_completed: %" PRIu64
52 " total_queue_time: %f max_queue_time: %f busy_queue_time: %f",
61 if (
count_.load(std::memory_order_relaxed) > 0) {
71 new_chunk[0].
next = &new_chunk[1];
73 for (
int i = 1;
i <
num - 1; ++
i) {
74 new_chunk[
i].
prev = &new_chunk[
i - 1];
75 new_chunk[
i].
next = &new_chunk[
i + 1];
105 int curr_count =
count_.load(std::memory_order_relaxed);
130 if (curr_count == 0) {
136 count_.store(curr_count + 1, std::memory_order_relaxed);
145 if (
count_.load(std::memory_order_relaxed) == 0) {
148 wait_time !=
nullptr) {
156 }
while (
count_.load(std::memory_order_relaxed) == 0);
159 wait_time !=
nullptr) {
GPRAPI double gpr_timespec_to_micros(gpr_timespec t)
void PushWaiter(Waiter *waiter)
#define GPR_DEBUG_ASSERT(x)
gpr_timespec total_queue_time
void Put(void *elem) override
static int64_t start_time
size_t delete_list_count_
DebugOnlyTraceFlag grpc_thread_pool_trace(false, "thread_pool")
#define GRPC_TRACE_FLAG_ENABLED(f)
gpr_timespec max_queue_time
GPRAPI gpr_timespec gpr_time_sub(gpr_timespec a, gpr_timespec b)
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
Node * AllocateNodes(int num)
GPRAPI gpr_timespec gpr_now(gpr_clock_type clock)
std::atomic< int > count_
~InfLenFIFOQueue() override
void RemoveWaiter(Waiter *waiter)
GPRAPI gpr_timespec gpr_time_max(gpr_timespec a, gpr_timespec b)
GPRAPI gpr_timespec gpr_time_add(gpr_timespec a, gpr_timespec b)
GPRAPI gpr_timespec gpr_convert_clock_type(gpr_timespec t, gpr_clock_type clock_type)
static const int kQueueInitNumNodes
gpr_timespec busy_queue_time
void * Get(gpr_timespec *wait_time) override
static const int kDeleteListInitSize
TraceFlag DebugOnlyTraceFlag
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:00:41