Namespaces | Macros | Functions | Variables
combiner.cc File Reference
#include <grpc/support/port_platform.h>
#include "src/core/lib/iomgr/combiner.h"
#include <assert.h>
#include <inttypes.h>
#include <string.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include "src/core/lib/gprpp/mpscq.h"
#include "src/core/lib/iomgr/executor.h"
#include "src/core/lib/iomgr/iomgr_internal.h"
Include dependency graph for combiner.cc:

Go to the source code of this file.

Namespaces

 grpc_core
 

Macros

#define GRPC_COMBINER_DEBUG_SPAM(op, delta)
 
#define GRPC_COMBINER_TRACE(fn)
 
#define OLD_STATE_WAS(orphaned, elem_count)
 
#define STATE_ELEM_COUNT_LOW_BIT   2
 
#define STATE_UNORPHANED   1
 

Functions

static void combiner_exec (grpc_core::Combiner *lock, grpc_closure *closure, grpc_error_handle error)
 
static void combiner_finally_exec (grpc_core::Combiner *lock, grpc_closure *closure, grpc_error_handle error)
 
static void enqueue_finally (void *closure, grpc_error_handle error)
 
bool grpc_combiner_continue_exec_ctx ()
 
grpc_core::Combinergrpc_combiner_create (void)
 
grpc_core::Combinergrpc_combiner_ref (grpc_core::Combiner *lock GRPC_COMBINER_DEBUG_ARGS)
 
void grpc_combiner_unref (grpc_core::Combiner *lock GRPC_COMBINER_DEBUG_ARGS)
 
static void move_next ()
 
static void offload (void *arg, grpc_error_handle error)
 
static void push_first_on_exec_ctx (grpc_core::Combiner *lock)
 
static void push_last_on_exec_ctx (grpc_core::Combiner *lock)
 
static void queue_offload (grpc_core::Combiner *lock)
 
static void really_destroy (grpc_core::Combiner *lock)
 
static void start_destroy (grpc_core::Combiner *lock)
 

Variables

grpc_core::DebugOnlyTraceFlag grpc_combiner_trace (false, "combiner")
 

Macro Definition Documentation

◆ GRPC_COMBINER_DEBUG_SPAM

#define GRPC_COMBINER_DEBUG_SPAM (   op,
  delta 
)
Value:
"C:%p %s %" PRIdPTR " --> %" PRIdPTR " %s", lock, (op), \
gpr_atm_no_barrier_load(&lock->refs.count), \
gpr_atm_no_barrier_load(&lock->refs.count) + (delta), reason); \
}

Definition at line 80 of file combiner.cc.

◆ GRPC_COMBINER_TRACE

#define GRPC_COMBINER_TRACE (   fn)
Value:
do { \
fn; \
} \
} while (0)

Definition at line 36 of file combiner.cc.

◆ OLD_STATE_WAS

#define OLD_STATE_WAS (   orphaned,
  elem_count 
)
Value:
(((orphaned) ? 0 : STATE_UNORPHANED) | \
((elem_count)*STATE_ELEM_COUNT_LOW_BIT))

◆ STATE_ELEM_COUNT_LOW_BIT

#define STATE_ELEM_COUNT_LOW_BIT   2

Definition at line 44 of file combiner.cc.

◆ STATE_UNORPHANED

#define STATE_UNORPHANED   1

Definition at line 43 of file combiner.cc.

Function Documentation

◆ combiner_exec()

static void combiner_exec ( grpc_core::Combiner lock,
grpc_closure closure,
grpc_error_handle  error 
)
static

Definition at line 127 of file combiner.cc.

◆ combiner_finally_exec()

static void combiner_finally_exec ( grpc_core::Combiner lock,
grpc_closure closure,
grpc_error_handle  error 
)
static

Definition at line 313 of file combiner.cc.

◆ enqueue_finally()

static void enqueue_finally ( void *  closure,
grpc_error_handle  error 
)
static

Definition at line 334 of file combiner.cc.

◆ grpc_combiner_continue_exec_ctx()

bool grpc_combiner_continue_exec_ctx ( )

Definition at line 181 of file combiner.cc.

◆ grpc_combiner_create()

grpc_core::Combiner* grpc_combiner_create ( void  )

Definition at line 54 of file combiner.cc.

◆ grpc_combiner_ref()

grpc_core::Combiner* grpc_combiner_ref ( grpc_core::Combiner *lock  GRPC_COMBINER_DEBUG_ARGS)

Definition at line 98 of file combiner.cc.

◆ grpc_combiner_unref()

void grpc_combiner_unref ( grpc_core::Combiner *lock  GRPC_COMBINER_DEBUG_ARGS)

Definition at line 91 of file combiner.cc.

◆ move_next()

static void move_next ( )
static

Definition at line 160 of file combiner.cc.

◆ offload()

static void offload ( void *  arg,
grpc_error_handle  error 
)
static

Definition at line 170 of file combiner.cc.

◆ push_first_on_exec_ctx()

static void push_first_on_exec_ctx ( grpc_core::Combiner lock)
static

Definition at line 118 of file combiner.cc.

◆ push_last_on_exec_ctx()

static void push_last_on_exec_ctx ( grpc_core::Combiner lock)
static

Definition at line 105 of file combiner.cc.

◆ queue_offload()

static void queue_offload ( grpc_core::Combiner lock)
static

Definition at line 175 of file combiner.cc.

◆ really_destroy()

static void really_destroy ( grpc_core::Combiner lock)
static

Definition at line 64 of file combiner.cc.

◆ start_destroy()

static void start_destroy ( grpc_core::Combiner lock)
static

Definition at line 70 of file combiner.cc.

Variable Documentation

◆ grpc_combiner_trace

grpc_core::DebugOnlyTraceFlag grpc_combiner_trace(false, "combiner")
gpr_atm_no_barrier_load
#define gpr_atm_no_barrier_load(p)
Definition: impl/codegen/atm_gcc_atomic.h:53
file
Definition: bloaty/third_party/zlib/examples/gzappend.c:170
GPR_LOG_SEVERITY_DEBUG
@ GPR_LOG_SEVERITY_DEBUG
Definition: include/grpc/impl/codegen/log.h:46
STATE_UNORPHANED
#define STATE_UNORPHANED
Definition: combiner.cc:43
grpc_combiner_trace
grpc_core::DebugOnlyTraceFlag grpc_combiner_trace(false, "combiner")
grpc_core::TraceFlag::enabled
bool enabled()
Definition: debug/trace.h:82
regen-readme.line
line
Definition: regen-readme.py:30
STATE_ELEM_COUNT_LOW_BIT
#define STATE_ELEM_COUNT_LOW_BIT
Definition: combiner.cc:44
op
static grpc_op * op
Definition: test/core/fling/client.cc:47


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:07