aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/surface/call.h
diff options
context:
space:
mode:
authorGravatar Muxi Yan <mxyan@google.com>2016-10-30 23:49:39 -0700
committerGravatar Muxi Yan <mxyan@google.com>2016-10-30 23:49:39 -0700
commit43944082daf3e8f63328ba7c18685b0df3cf212a (patch)
treef91d8de96683179e39a90f654339968cb7b6dff1 /src/core/lib/surface/call.h
parentea3b568b8fef498f6aeec4349702c588afe709da (diff)
parent1c55919ece40ec0cf7baa280c55273ab7fbea83f (diff)
Merge remote-tracking branch 'upstream/master' into core-end2end-tests-cronet-update
Diffstat (limited to 'src/core/lib/surface/call.h')
-rw-r--r--src/core/lib/surface/call.h32
1 files changed, 23 insertions, 9 deletions
diff --git a/src/core/lib/surface/call.h b/src/core/lib/surface/call.h
index 3a78fe3aa3..18af41b7fb 100644
--- a/src/core/lib/surface/call.h
+++ b/src/core/lib/surface/call.h
@@ -49,15 +49,29 @@ typedef void (*grpc_ioreq_completion_func)(grpc_exec_ctx *exec_ctx,
grpc_call *call, int success,
void *user_data);
-grpc_call *grpc_call_create(grpc_channel *channel, grpc_call *parent_call,
- uint32_t propagation_mask,
- grpc_completion_queue *cq,
- /* if not NULL, it'll be used in lieu of \a cq */
- grpc_pollset_set *pollset_set_alternative,
- const void *server_transport_data,
- grpc_mdelem **add_initial_metadata,
- size_t add_initial_metadata_count,
- gpr_timespec send_deadline);
+typedef struct grpc_call_create_args {
+ grpc_channel *channel;
+
+ grpc_call *parent_call;
+ uint32_t propagation_mask;
+
+ grpc_completion_queue *cq;
+ /* if not NULL, it'll be used in lieu of cq */
+ grpc_pollset_set *pollset_set_alternative;
+
+ const void *server_transport_data;
+
+ grpc_mdelem **add_initial_metadata;
+ size_t add_initial_metadata_count;
+
+ gpr_timespec send_deadline;
+} grpc_call_create_args;
+
+/* Create a new call based on \a args.
+ Regardless of success or failure, always returns a valid new call into *call
+ */
+grpc_error *grpc_call_create(const grpc_call_create_args *args,
+ grpc_call **call);
void grpc_call_set_completion_queue(grpc_exec_ctx *exec_ctx, grpc_call *call,
grpc_completion_queue *cq);