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))
Definition: combiner.h:33
gpr_refcount refs
Definition: combiner.h:52
Combiner * next_combiner_on_this_exec_ctx
Definition: combiner.h:38
bool time_to_execute_final_list
Definition: combiner.h:49
grpc_closure_list final_list
Definition: combiner.h:50
MultiProducerSingleConsumerQueue queue
Definition: combiner.h:39
void FinallyRun(grpc_closure *closure, grpc_error *error)
grpc_closure offload
Definition: combiner.h:51
gpr_atm state
Definition: combiner.h:48
void Run(grpc_closure *closure, grpc_error *error)
gpr_atm initiating_exec_ctx_or_null
Definition: combiner.h:44
grpc_core::DebugOnlyTraceFlag grpc_combiner_trace
grpc_core::Combiner * grpc_combiner_create(void)
#define GRPC_COMBINER_DEBUG_ARGS
Definition: combiner.h:66
grpc_core::Combiner * grpc_combiner_ref(grpc_core::Combiner *lock, const char *file, int line, const char *reason)
bool grpc_combiner_continue_exec_ctx()
void grpc_combiner_unref(grpc_core::Combiner *lock, const char *file, int line, const char *reason)
intptr_t gpr_atm
Definition: atm_gcc_atomic.h:30
Internal thread interface.
Definition: backoff.h:26
Definition: sync_generic.h:36
A closure over a grpc_iomgr_cb_func.
Definition: closure.h:56
Definition: error_internal.h:39