Skip to content

Commit

Permalink
Move grpc_census_call_*_context calls into public header
Browse files Browse the repository at this point in the history
  • Loading branch information
a-veitch committed Jul 30, 2015
1 parent 5c575dd commit ff32faf
Show file tree
Hide file tree
Showing 14 changed files with 44 additions and 103 deletions.
3 changes: 0 additions & 3 deletions BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,6 @@ cc_library(
"src/core/tsi/ssl_transport_security.h",
"src/core/tsi/transport_security.h",
"src/core/tsi/transport_security_interface.h",
"src/core/census/grpc_context.h",
"src/core/channel/census_filter.h",
"src/core/channel/channel_args.h",
"src/core/channel/channel_stack.h",
Expand Down Expand Up @@ -407,7 +406,6 @@ cc_library(
cc_library(
name = "grpc_unsecure",
srcs = [
"src/core/census/grpc_context.h",
"src/core/channel/census_filter.h",
"src/core/channel/channel_args.h",
"src/core/channel/channel_stack.h",
Expand Down Expand Up @@ -1127,7 +1125,6 @@ objc_library(
"src/core/tsi/ssl_transport_security.h",
"src/core/tsi/transport_security.h",
"src/core/tsi/transport_security_interface.h",
"src/core/census/grpc_context.h",
"src/core/channel/census_filter.h",
"src/core/channel/channel_args.h",
"src/core/channel/channel_stack.h",
Expand Down
1 change: 0 additions & 1 deletion build.json
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,6 @@
"include/grpc/status.h"
],
"headers": [
"src/core/census/grpc_context.h",
"src/core/channel/census_filter.h",
"src/core/channel/channel_args.h",
"src/core/channel/channel_stack.h",
Expand Down
2 changes: 0 additions & 2 deletions gRPC.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,6 @@ Pod::Spec.new do |s|
'src/core/tsi/ssl_transport_security.h',
'src/core/tsi/transport_security.h',
'src/core/tsi/transport_security_interface.h',
'src/core/census/grpc_context.h',
'src/core/channel/census_filter.h',
'src/core/channel/channel_args.h',
'src/core/channel/channel_stack.h',
Expand Down Expand Up @@ -417,7 +416,6 @@ Pod::Spec.new do |s|
'src/core/tsi/ssl_transport_security.h',
'src/core/tsi/transport_security.h',
'src/core/tsi/transport_security_interface.h',
'src/core/census/grpc_context.h',
'src/core/channel/census_filter.h',
'src/core/channel/channel_args.h',
'src/core/channel/channel_stack.h',
Expand Down
50 changes: 32 additions & 18 deletions include/grpc/grpc.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ extern "C" {
* \section intro_sec The GRPC Core library is a low-level library designed
* to be wrapped by higher level libraries.
*
* The top-level API is provided in grpc.h.
* The top-level API is provided in grpc.h.
* Security related functionality lives in grpc_security.h.
*/

Expand Down Expand Up @@ -175,7 +175,7 @@ typedef enum grpc_call_error {
GRPC_CALL_ERROR_INVALID_FLAGS,
/** invalid metadata was passed to this call */
GRPC_CALL_ERROR_INVALID_METADATA,
/** completion queue for notification has not been registered with the
/** completion queue for notification has not been registered with the
server */
GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE
} grpc_call_error;
Expand All @@ -198,7 +198,8 @@ typedef struct grpc_metadata {
size_t value_length;

/** The following fields are reserved for grpc internal use.
There is no need to initialize them, and they will be set to garbage during
There is no need to initialize them, and they will be set to garbage
during
calls to grpc. */
struct {
void *obfuscated[3];
Expand Down Expand Up @@ -256,24 +257,25 @@ typedef enum {
/** Send a message: 0 or more of these operations can occur for each call */
GRPC_OP_SEND_MESSAGE,
/** Send a close from the client: one and only one instance MUST be sent from
the client, unless the call was cancelled - in which case this can be
the client, unless the call was cancelled - in which case this can be
skipped */
GRPC_OP_SEND_CLOSE_FROM_CLIENT,
/** Send status from the server: one and only one instance MUST be sent from
the server unless the call was cancelled - in which case this can be
the server unless the call was cancelled - in which case this can be
skipped */
GRPC_OP_SEND_STATUS_FROM_SERVER,
/** Receive initial metadata: one and only one MUST be made on the client,
/** Receive initial metadata: one and only one MUST be made on the client,
must not be made on the server */
GRPC_OP_RECV_INITIAL_METADATA,
/** Receive a message: 0 or more of these operations can occur for each call */
/** Receive a message: 0 or more of these operations can occur for each call
*/
GRPC_OP_RECV_MESSAGE,
/** Receive status on the client: one and only one must be made on the client.
This operation always succeeds, meaning ops paired with this operation
will also appear to succeed, even though they may not have. In that case
the status will indicate some failure. */
GRPC_OP_RECV_STATUS_ON_CLIENT,
/** Receive close on the server: one and only one must be made on the
/** Receive close on the server: one and only one must be made on the
server */
GRPC_OP_RECV_CLOSE_ON_SERVER
} grpc_op_type;
Expand All @@ -284,7 +286,7 @@ typedef struct grpc_op {
/** Operation type, as defined by grpc_op_type */
grpc_op_type op;
/** Write flags bitset for grpc_begin_messages */
gpr_uint32 flags;
gpr_uint32 flags;
union {
struct {
size_t count;
Expand All @@ -303,21 +305,23 @@ typedef struct grpc_op {
After the operation completes, call grpc_metadata_array_destroy on this
value, or reuse it in a future op. */
grpc_metadata_array *recv_initial_metadata;
/** ownership of the byte buffer is moved to the caller; the caller must call
/** ownership of the byte buffer is moved to the caller; the caller must
call
grpc_byte_buffer_destroy on this value, or reuse it in a future op. */
grpc_byte_buffer **recv_message;
struct {
/** ownership of the array is with the caller, but ownership of the
elements stays with the call object (ie key, value members are owned
elements stays with the call object (ie key, value members are owned
by the call object, trailing_metadata->array is owned by the caller).
After the operation completes, call grpc_metadata_array_destroy on this
After the operation completes, call grpc_metadata_array_destroy on
this
value, or reuse it in a future op. */
grpc_metadata_array *trailing_metadata;
grpc_status_code *status;
/** status_details is a buffer owned by the application before the op
completes and after the op has completed. During the operation
status_details may be reallocated to a size larger than
*status_details_capacity, in which case *status_details_capacity will
status_details may be reallocated to a size larger than
*status_details_capacity, in which case *status_details_capacity will
be updated with the new array capacity.
Pre-allocating space:
Expand Down Expand Up @@ -436,13 +440,23 @@ grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops,
/** Returns a newly allocated string representing the endpoint to which this
call is communicating with. The string is in the uri format accepted by
grpc_channel_create.
The returned string should be disposed of with gpr_free().
The returned string should be disposed of with gpr_free().
WARNING: this value is never authenticated or subject to any security
related code. It must not be used for any authentication related
functionality. Instead, use grpc_auth_context. */
char *grpc_call_get_peer(grpc_call *call);

struct census_context;

/* Set census context for a call; Must be called before first call to
grpc_call_start_batch(). */
void grpc_census_call_set_context(grpc_call *call,
struct census_context *context);

/* Retrieve the calls current census context. */
struct census_context *grpc_census_call_get_context(grpc_call *call);

/** Return a newly allocated string representing the target a channel was
created for. */
char *grpc_channel_get_target(grpc_channel *channel);
Expand Down Expand Up @@ -489,7 +503,7 @@ grpc_call_error grpc_call_cancel_with_status(grpc_call *call,
void grpc_call_destroy(grpc_call *call);

/** Request notification of a new call. 'cq_for_notification' must
have been registered to the server via
have been registered to the server via
grpc_server_register_completion_queue. */
grpc_call_error grpc_server_request_call(
grpc_server *server, grpc_call **call, grpc_call_details *details,
Expand All @@ -507,8 +521,8 @@ grpc_call_error grpc_server_request_call(
void *grpc_server_register_method(grpc_server *server, const char *method,
const char *host);

/** Request notification of a new pre-registered call. 'cq_for_notification'
must have been registered to the server via
/** Request notification of a new pre-registered call. 'cq_for_notification'
must have been registered to the server via
grpc_server_register_completion_queue. */
grpc_call_error grpc_server_request_registered_call(
grpc_server *server, void *registered_method, grpc_call **call,
Expand Down
3 changes: 2 additions & 1 deletion src/core/census/grpc_context.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@
*/

#include <grpc/census.h>
#include "src/core/census/grpc_context.h"
#include <grpc/grpc.h>
#include "src/core/surface/call.h"

static void grpc_census_context_destroy(void *context) {
census_context_destroy((census_context *)context);
Expand Down
57 changes: 0 additions & 57 deletions src/core/census/grpc_context.h

This file was deleted.

17 changes: 10 additions & 7 deletions src/core/surface/call.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>

#include "src/core/census/grpc_context.h"
#include "src/core/channel/channel_stack.h"
#include "src/core/iomgr/alarm.h"
#include "src/core/profiling/timers.h"
Expand Down Expand Up @@ -348,7 +347,8 @@ grpc_call *grpc_call_create(grpc_channel *channel, grpc_completion_queue *cq,
}
grpc_call_stack_init(channel_stack, server_transport_data, initial_op_ptr,
CALL_STACK_FROM_CALL(call));
if (gpr_time_cmp(send_deadline, gpr_inf_future(send_deadline.clock_type)) != 0) {
if (gpr_time_cmp(send_deadline, gpr_inf_future(send_deadline.clock_type)) !=
0) {
set_deadline_alarm(call, send_deadline);
}
return call;
Expand Down Expand Up @@ -1283,8 +1283,9 @@ static void set_deadline_alarm(grpc_call *call, gpr_timespec deadline) {
}
GRPC_CALL_INTERNAL_REF(call, "alarm");
call->have_alarm = 1;
grpc_alarm_init(&call->alarm, gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC), call_alarm, call,
gpr_now(GPR_CLOCK_MONOTONIC));
grpc_alarm_init(&call->alarm,
gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC),
call_alarm, call, gpr_now(GPR_CLOCK_MONOTONIC));
}

/* we offset status by a small amount when storing it into transport metadata
Expand Down Expand Up @@ -1319,15 +1320,17 @@ static gpr_uint32 decode_compression(grpc_mdelem *md) {
grpc_compression_algorithm algorithm;
void *user_data = grpc_mdelem_get_user_data(md, destroy_compression);
if (user_data) {
algorithm = ((grpc_compression_level)(gpr_intptr)user_data) - COMPRESS_OFFSET;
algorithm =
((grpc_compression_level)(gpr_intptr)user_data) - COMPRESS_OFFSET;
} else {
const char *md_c_str = grpc_mdstr_as_c_string(md->value);
if (!grpc_compression_algorithm_parse(md_c_str, &algorithm)) {
gpr_log(GPR_ERROR, "Invalid compression algorithm: '%s'", md_c_str);
assert(0);
}
grpc_mdelem_set_user_data(md, destroy_compression,
(void *)(gpr_intptr)(algorithm + COMPRESS_OFFSET));
grpc_mdelem_set_user_data(
md, destroy_compression,
(void *)(gpr_intptr)(algorithm + COMPRESS_OFFSET));
}
return algorithm;
}
Expand Down
1 change: 0 additions & 1 deletion src/cpp/client/channel.cc
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
#include <grpc/support/log.h>
#include <grpc/support/slice.h>

#include "src/core/census/grpc_context.h"
#include "src/core/profiling/timers.h"
#include <grpc++/channel_arguments.h>
#include <grpc++/client_context.h>
Expand Down
1 change: 0 additions & 1 deletion tools/doxygen/Doxyfile.core.internal
Original file line number Diff line number Diff line change
Expand Up @@ -784,7 +784,6 @@ src/core/tsi/fake_transport_security.h \
src/core/tsi/ssl_transport_security.h \
src/core/tsi/transport_security.h \
src/core/tsi/transport_security_interface.h \
src/core/census/grpc_context.h \
src/core/channel/census_filter.h \
src/core/channel/channel_args.h \
src/core/channel/channel_stack.h \
Expand Down
4 changes: 0 additions & 4 deletions tools/run_tests/sources_and_headers.json
Original file line number Diff line number Diff line change
Expand Up @@ -9863,7 +9863,6 @@
"include/grpc/grpc_security.h",
"include/grpc/status.h",
"src/core/census/context.h",
"src/core/census/grpc_context.h",
"src/core/census/rpc_stat_id.h",
"src/core/channel/census_filter.h",
"src/core/channel/channel_args.h",
Expand Down Expand Up @@ -9991,7 +9990,6 @@
"src/core/census/context.c",
"src/core/census/context.h",
"src/core/census/grpc_context.c",
"src/core/census/grpc_context.h",
"src/core/census/initialize.c",
"src/core/census/record_stat.c",
"src/core/census/rpc_stat_id.h",
Expand Down Expand Up @@ -10328,7 +10326,6 @@
"include/grpc/grpc.h",
"include/grpc/status.h",
"src/core/census/context.h",
"src/core/census/grpc_context.h",
"src/core/census/rpc_stat_id.h",
"src/core/channel/census_filter.h",
"src/core/channel/channel_args.h",
Expand Down Expand Up @@ -10438,7 +10435,6 @@
"src/core/census/context.c",
"src/core/census/context.h",
"src/core/census/grpc_context.c",
"src/core/census/grpc_context.h",
"src/core/census/initialize.c",
"src/core/census/record_stat.c",
"src/core/census/rpc_stat_id.h",
Expand Down
1 change: 0 additions & 1 deletion vsprojects/grpc/grpc.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,6 @@
<ClInclude Include="..\..\src\core\tsi\ssl_transport_security.h" />
<ClInclude Include="..\..\src\core\tsi\transport_security.h" />
<ClInclude Include="..\..\src\core\tsi\transport_security_interface.h" />
<ClInclude Include="..\..\src\core\census\grpc_context.h" />
<ClInclude Include="..\..\src\core\channel\census_filter.h" />
<ClInclude Include="..\..\src\core\channel\channel_args.h" />
<ClInclude Include="..\..\src\core\channel\channel_stack.h" />
Expand Down
3 changes: 0 additions & 3 deletions vsprojects/grpc/grpc.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -485,9 +485,6 @@
<ClInclude Include="..\..\src\core\tsi\transport_security_interface.h">
<Filter>src\core\tsi</Filter>
</ClInclude>
<ClInclude Include="..\..\src\core\census\grpc_context.h">
<Filter>src\core\census</Filter>
</ClInclude>
<ClInclude Include="..\..\src\core\channel\census_filter.h">
<Filter>src\core\channel</Filter>
</ClInclude>
Expand Down
1 change: 0 additions & 1 deletion vsprojects/grpc_unsecure/grpc_unsecure.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,6 @@
<ClInclude Include="..\..\include\grpc\census.h" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\core\census\grpc_context.h" />
<ClInclude Include="..\..\src\core\channel\census_filter.h" />
<ClInclude Include="..\..\src\core\channel\channel_args.h" />
<ClInclude Include="..\..\src\core\channel\channel_stack.h" />
Expand Down
3 changes: 0 additions & 3 deletions vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -362,9 +362,6 @@
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\core\census\grpc_context.h">
<Filter>src\core\census</Filter>
</ClInclude>
<ClInclude Include="..\..\src\core\channel\census_filter.h">
<Filter>src\core\channel</Filter>
</ClInclude>
Expand Down

0 comments on commit ff32faf

Please sign in to comment.