aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/surface/completion_queue.h
diff options
context:
space:
mode:
authorGravatar ncteisen <ncteisen@gmail.com>2017-11-10 12:23:12 -0800
committerGravatar ncteisen <ncteisen@gmail.com>2017-11-10 12:23:12 -0800
commit72afb76f5e64a2dc43a40e544821be3119d7702d (patch)
treee59632295d408ec8a3b56c9b0f363cd11b34d5e8 /src/core/lib/surface/completion_queue.h
parentdfd16dd154e2f8ae42f002db396574002eb257f8 (diff)
parent67520b0ffd78f4bf1c73b360204382b0f4197852 (diff)
Merge branch 'master' of https://github.com/grpc/grpc into tracing++
Lot's of manual work to make this merge work
Diffstat (limited to 'src/core/lib/surface/completion_queue.h')
-rw-r--r--src/core/lib/surface/completion_queue.h45
1 files changed, 24 insertions, 21 deletions
diff --git a/src/core/lib/surface/completion_queue.h b/src/core/lib/surface/completion_queue.h
index cb390fe753..945b6734b1 100644
--- a/src/core/lib/surface/completion_queue.h
+++ b/src/core/lib/surface/completion_queue.h
@@ -44,55 +44,58 @@ typedef struct grpc_cq_completion {
gpr_mpscq_node node;
/** user supplied tag */
- void *tag;
+ void* tag;
/** done callback - called when this queue element is no longer
needed by the completion queue */
- void (*done)(grpc_exec_ctx *exec_ctx, void *done_arg,
- struct grpc_cq_completion *c);
- void *done_arg;
+ void (*done)(grpc_exec_ctx* exec_ctx, void* done_arg,
+ struct grpc_cq_completion* c);
+ void* done_arg;
/** next pointer; low bit is used to indicate success or not */
uintptr_t next;
} grpc_cq_completion;
#ifndef NDEBUG
-void grpc_cq_internal_ref(grpc_completion_queue *cc, const char *reason,
- const char *file, int line);
-void grpc_cq_internal_unref(grpc_exec_ctx *exec_ctx, grpc_completion_queue *cc,
- const char *reason, const char *file, int line);
+void grpc_cq_internal_ref(grpc_completion_queue* cc, const char* reason,
+ const char* file, int line);
+void grpc_cq_internal_unref(grpc_exec_ctx* exec_ctx, grpc_completion_queue* cc,
+ const char* reason, const char* file, int line);
#define GRPC_CQ_INTERNAL_REF(cc, reason) \
grpc_cq_internal_ref(cc, reason, __FILE__, __LINE__)
#define GRPC_CQ_INTERNAL_UNREF(ec, cc, reason) \
grpc_cq_internal_unref(ec, cc, reason, __FILE__, __LINE__)
#else
-void grpc_cq_internal_ref(grpc_completion_queue *cc);
-void grpc_cq_internal_unref(grpc_exec_ctx *exec_ctx, grpc_completion_queue *cc);
+void grpc_cq_internal_ref(grpc_completion_queue* cc);
+void grpc_cq_internal_unref(grpc_exec_ctx* exec_ctx, grpc_completion_queue* cc);
#define GRPC_CQ_INTERNAL_REF(cc, reason) grpc_cq_internal_ref(cc)
#define GRPC_CQ_INTERNAL_UNREF(ec, cc, reason) grpc_cq_internal_unref(ec, cc)
#endif
+/* Initializes global variables used by completion queues */
+void grpc_cq_global_init();
+
/* Flag that an operation is beginning: the completion channel will not finish
shutdown until a corrensponding grpc_cq_end_* call is made.
\a tag is currently used only in debug builds. Return true on success, and
false if completion_queue has been shutdown. */
-bool grpc_cq_begin_op(grpc_completion_queue *cc, void *tag);
+bool grpc_cq_begin_op(grpc_completion_queue* cc, void* tag);
/* Queue a GRPC_OP_COMPLETED operation; tag must correspond to the tag passed to
grpc_cq_begin_op */
-void grpc_cq_end_op(grpc_exec_ctx *exec_ctx, grpc_completion_queue *cc,
- void *tag, grpc_error *error,
- void (*done)(grpc_exec_ctx *exec_ctx, void *done_arg,
- grpc_cq_completion *storage),
- void *done_arg, grpc_cq_completion *storage);
+void grpc_cq_end_op(grpc_exec_ctx* exec_ctx, grpc_completion_queue* cc,
+ void* tag, grpc_error* error,
+ void (*done)(grpc_exec_ctx* exec_ctx, void* done_arg,
+ grpc_cq_completion* storage),
+ void* done_arg, grpc_cq_completion* storage);
-grpc_pollset *grpc_cq_pollset(grpc_completion_queue *cc);
+grpc_pollset* grpc_cq_pollset(grpc_completion_queue* cc);
-bool grpc_cq_can_listen(grpc_completion_queue *cc);
+bool grpc_cq_can_listen(grpc_completion_queue* cc);
-grpc_cq_completion_type grpc_get_cq_completion_type(grpc_completion_queue *cc);
+grpc_cq_completion_type grpc_get_cq_completion_type(grpc_completion_queue* cc);
-int grpc_get_cq_poll_num(grpc_completion_queue *cc);
+int grpc_get_cq_poll_num(grpc_completion_queue* cc);
-grpc_completion_queue *grpc_completion_queue_create_internal(
+grpc_completion_queue* grpc_completion_queue_create_internal(
grpc_cq_completion_type completion_type, grpc_cq_polling_type polling_type);
#ifdef __cplusplus