19 #ifndef GRPC_CORE_LIB_IOMGR_COMBINER_H 20 #define GRPC_CORE_LIB_IOMGR_COMBINER_H 66 #define GRPC_COMBINER_DEBUG_ARGS \ 67 , const char *file, int line, const char *reason 68 #define GRPC_COMBINER_REF(combiner, reason) \ 69 grpc_combiner_ref((combiner), __FILE__, __LINE__, (reason)) 70 #define GRPC_COMBINER_UNREF(combiner, reason) \ 71 grpc_combiner_unref((combiner), __FILE__, __LINE__, (reason)) 73 #define GRPC_COMBINER_DEBUG_ARGS 74 #define GRPC_COMBINER_REF(combiner, reason) grpc_combiner_ref((combiner)) 75 #define GRPC_COMBINER_UNREF(combiner, reason) grpc_combiner_unref((combiner))
grpc_closure_list final_list
Definition: combiner.h:50
Definition: sync_generic.h:36
grpc_closure offload
Definition: combiner.h:51
Definition: error_internal.h:39
bool grpc_combiner_continue_exec_ctx()
Definition: combiner.cc:181
Round Robin Policy.
Definition: backend_metric.cc:24
#define GRPC_COMBINER_DEBUG_ARGS
Definition: combiner.h:66
grpc_core::DebugOnlyTraceFlag grpc_combiner_trace
bool time_to_execute_final_list
Definition: combiner.h:49
gpr_atm state
Definition: combiner.h:48
gpr_atm initiating_exec_ctx_or_null
Definition: combiner.h:44
Definition: combiner.h:33
void grpc_combiner_unref(grpc_core::Combiner *lock, const char *file, int line, const char *reason)
MultiProducerSingleConsumerQueue queue
Definition: combiner.h:39
intptr_t gpr_atm
Definition: atm_gcc_atomic.h:30
grpc_core::Combiner * grpc_combiner_ref(grpc_core::Combiner *lock, const char *file, int line, const char *reason)
A closure over a grpc_iomgr_cb_func.
Definition: closure.h:56
void FinallyRun(grpc_closure *closure, grpc_error *error)
Definition: combiner.cc:336
void Run(grpc_closure *closure, grpc_error *error)
Definition: combiner.cc:332
grpc_core::Combiner * grpc_combiner_create(void)
Definition: combiner.cc:55
gpr_refcount refs
Definition: combiner.h:52
Combiner * next_combiner_on_this_exec_ctx
Definition: combiner.h:38