diff options
Diffstat (limited to 'src/core/lib/channel')
-rw-r--r-- | src/core/lib/channel/channel_args.c | 26 | ||||
-rw-r--r-- | src/core/lib/channel/channel_args.h | 6 |
2 files changed, 32 insertions, 0 deletions
diff --git a/src/core/lib/channel/channel_args.c b/src/core/lib/channel/channel_args.c index 4b7f258740..8fdef0bc64 100644 --- a/src/core/lib/channel/channel_args.c +++ b/src/core/lib/channel/channel_args.c @@ -373,3 +373,29 @@ bool grpc_channel_args_want_minimal_stack(const grpc_channel_args *args) { return grpc_channel_arg_get_bool( grpc_channel_args_find(args, GRPC_ARG_MINIMAL_STACK), false); } + +grpc_arg grpc_channel_arg_string_create(char *name, char *value) { + grpc_arg arg; + arg.type = GRPC_ARG_STRING; + arg.key = name; + arg.value.string = value; + return arg; +} + +grpc_arg grpc_channel_arg_integer_create(char *name, int value) { + grpc_arg arg; + arg.type = GRPC_ARG_INTEGER; + arg.key = name; + arg.value.integer = value; + return arg; +} + +grpc_arg grpc_channel_arg_pointer_create( + char *name, void *value, const grpc_arg_pointer_vtable *vtable) { + grpc_arg arg; + arg.type = GRPC_ARG_POINTER; + arg.key = name; + arg.value.pointer.p = value; + arg.value.pointer.vtable = vtable; + return arg; +} diff --git a/src/core/lib/channel/channel_args.h b/src/core/lib/channel/channel_args.h index ba1d234005..f649a8d9ec 100644 --- a/src/core/lib/channel/channel_args.h +++ b/src/core/lib/channel/channel_args.h @@ -112,4 +112,10 @@ int grpc_channel_arg_get_integer(const grpc_arg *arg, bool grpc_channel_arg_get_bool(const grpc_arg *arg, bool default_value); +// Helpers for creating channel args. +grpc_arg grpc_channel_arg_string_create(char *name, char *value); +grpc_arg grpc_channel_arg_integer_create(char *name, int value); +grpc_arg grpc_channel_arg_pointer_create(char *name, void *value, + const grpc_arg_pointer_vtable *vtable); + #endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_ARGS_H */ |