Example #1
0
static bool maybe_add_optional_filter(grpc_exec_ctx *exec_ctx,
                                      grpc_channel_stack_builder *builder,
                                      void *arg) {
  if (!is_building_http_like_transport(builder)) return true;
  optional_filter *filtarg = arg;
  const grpc_channel_args *channel_args =
      grpc_channel_stack_builder_get_channel_arguments(builder);
  bool enable = grpc_channel_arg_get_bool(
      grpc_channel_args_find(channel_args, filtarg->control_channel_arg),
      !grpc_channel_args_want_minimal_stack(channel_args));
  return enable ? grpc_channel_stack_builder_prepend_filter(
                      builder, filtarg->filter, NULL, NULL)
                : true;
}
Example #2
0
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);
}