aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/surface/channel.h
diff options
context:
space:
mode:
authorGravatar Soheil Hassas Yeganeh <soheil@google.com>2018-10-07 18:41:31 -0400
committerGravatar Soheil Hassas Yeganeh <soheil@google.com>2018-10-07 18:41:31 -0400
commit5faf1b72edba62a06dd6b4273c2a36f570b7c949 (patch)
treeed84b65e507ab6eb9883ef39f8b349692e0eb800 /src/core/lib/surface/channel.h
parent3b26fe7262a9db90dfb69f84ad582d9f71871a5c (diff)
Avoid unnecessary ref/unref calls to get mdelem from slices.
grpc_mdelem_from_slices() unref's the key and value. As a result, in quite a few cases on the hot path, we first ref slice, so that grpc_mdelem_from_slices() can unref them. Add grpc_mdelem_from_slices_no_unref() which does not unref() the input slices. This cuts 0.5% - 1.0% across app benchmarks.
Diffstat (limited to 'src/core/lib/surface/channel.h')
-rw-r--r--src/core/lib/surface/channel.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/lib/surface/channel.h b/src/core/lib/surface/channel.h
index e5ff2c3596..4ac76b8a29 100644
--- a/src/core/lib/surface/channel.h
+++ b/src/core/lib/surface/channel.h
@@ -45,8 +45,8 @@ grpc_channel* grpc_channel_create_with_builder(
value of \a propagation_mask (see propagation_bits.h for possible values) */
grpc_call* grpc_channel_create_pollset_set_call(
grpc_channel* channel, grpc_call* parent_call, uint32_t propagation_mask,
- grpc_pollset_set* pollset_set, grpc_slice method, const grpc_slice* host,
- grpc_millis deadline, void* reserved);
+ grpc_pollset_set* pollset_set, const grpc_slice& method,
+ const grpc_slice* host, grpc_millis deadline, void* reserved);
/** Get a (borrowed) pointer to this channels underlying channel stack */
grpc_channel_stack* grpc_channel_get_channel_stack(grpc_channel* channel);