aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/channel/channel_args.c
diff options
context:
space:
mode:
authorGravatar David Garcia Quintas <dgq@google.com>2015-06-16 11:35:41 -0700
committerGravatar David Garcia Quintas <dgq@google.com>2015-06-16 11:35:41 -0700
commitcc6c43c4961ec532835cebd4a395598cabcffbcc (patch)
treed7daa9719d91462157fd0d8e8b66489559a70b52 /src/core/channel/channel_args.c
parentfd62174190d55d880a3a0a3ae1f88d90525c0464 (diff)
Exposed compression level in channel arguments (C and C++)
Diffstat (limited to 'src/core/channel/channel_args.c')
-rw-r--r--src/core/channel/channel_args.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/core/channel/channel_args.c b/src/core/channel/channel_args.c
index 1b0e33b123..166d559a45 100644
--- a/src/core/channel/channel_args.c
+++ b/src/core/channel/channel_args.c
@@ -115,3 +115,27 @@ int grpc_channel_args_is_census_enabled(const grpc_channel_args *a) {
}
return 0;
}
+
+grpc_compression_level grpc_channel_args_get_compression_level(
+ const grpc_channel_args *a) {
+ size_t i;
+ if (a) {
+ for (i = 0; a && i < a->num_args; ++i) {
+ if (a->args[i].type == GRPC_ARG_INTEGER &&
+ !strcmp(GRPC_COMPRESSION_LEVEL_ARG, a->args[i].key)) {
+ return a->args[i].value.integer;
+ break;
+ }
+ }
+ }
+ return GRPC_COMPRESS_LEVEL_NONE;
+}
+
+void grpc_channel_args_set_compression_level(
+ grpc_channel_args **a, grpc_compression_level level) {
+ grpc_arg tmp;
+ tmp.type = GRPC_ARG_INTEGER;
+ tmp.key = GRPC_COMPRESSION_LEVEL_ARG;
+ tmp.value.integer = level;
+ *a = grpc_channel_args_copy_and_add(*a, &tmp);
+}