Skip to content

Commit cdb690b

Browse files
committed
update generated MergeOptions
1 parent 6436081 commit cdb690b

4 files changed

Lines changed: 381 additions & 199 deletions

File tree

generator/internal/client_generator.cc

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,7 @@ Status ClientGenerator::GenerateCc() {
473473
CcPrint(R"""(
474474
std::shared_ptr<$connection_class_name$> connection, Options opts)
475475
: connection_(std::move(connection)),
476-
options_(internal::MergeOptions(std::move(opts),
476+
options_($merge_options_fn$(std::move(opts),
477477
connection_->options())) {}
478478
$client_class_name$::~$client_class_name$() = default;
479479
)""");
@@ -488,7 +488,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
488488
$response_type$>>
489489
$client_class_name$::Async$method_name$(Options opts) {
490490
internal::OptionsSpan span(
491-
internal::MergeOptions(std::move(opts), options_));
491+
$merge_options_fn$(std::move(opts), options_));
492492
return connection_->Async$method_name$();
493493
}
494494
)""");
@@ -513,7 +513,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
513513
{"\n$return_type$\n"},
514514
// clang-format off
515515
{method_string},
516-
{" internal::OptionsSpan span(internal::MergeOptions("
516+
{" internal::OptionsSpan span($merge_options_fn$("
517517
"std::move(opts), options_));\n"},
518518
{" $request_type$ request;\n"},
519519
{method_request_string},
@@ -529,7 +529,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
529529
"\nfuture<Status>\n",
530530
"\nfuture<StatusOr<$longrunning_deduced_response_type$>>\n"},
531531
{method_string},
532-
{" internal::OptionsSpan span(internal::MergeOptions("
532+
{" internal::OptionsSpan span($merge_options_fn$("
533533
"std::move(opts), options_));\n"},
534534
{" $request_type$ request;\n"},
535535
{method_request_string},
@@ -541,7 +541,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
541541
"\nStatus\n",
542542
"\nStatusOr<$longrunning_operation_type$>\n"},
543543
{start_method_string},
544-
{" internal::OptionsSpan span(internal::MergeOptions("
544+
{" internal::OptionsSpan span($merge_options_fn$("
545545
"std::move(opts), options_));\n"},
546546
{" $request_type$ request;\n"},
547547
{method_request_string},
@@ -554,7 +554,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
554554
// clang-format off
555555
{"\nStreamRange<$range_output_type$>\n"},
556556
{method_string},
557-
{" internal::OptionsSpan span(internal::MergeOptions("
557+
{" internal::OptionsSpan span($merge_options_fn$("
558558
"std::move(opts), options_));\n"},
559559
{" $request_type$ request;\n"},
560560
{method_request_string},
@@ -567,7 +567,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
567567
// clang-format off
568568
{"\nStreamRange<$response_type$>\n"},
569569
{method_string},
570-
{" internal::OptionsSpan span(internal::MergeOptions("
570+
{" internal::OptionsSpan span($merge_options_fn$("
571571
"std::move(opts), options_));\n"},
572572
{" $request_type$ request;\n"},
573573
{method_request_string},
@@ -591,7 +591,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
591591
" Options opts) {\n"
592592
" internal::CheckExpectedOptions<$service_name$"
593593
"BackoffPolicyOption>(opts, __func__);\n"
594-
" internal::OptionsSpan span(internal::MergeOptions("
594+
" internal::OptionsSpan span($merge_options_fn$("
595595
"std::move(opts), options_));\n"},
596596
{" "},
597597
{ProtoNameToCppName(
@@ -644,7 +644,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
644644
// clang-format off
645645
{"$client_class_name$::$method_name$($request_type$ const& request"
646646
", Options opts) {\n"
647-
" internal::OptionsSpan span(internal::MergeOptions("
647+
" internal::OptionsSpan span($merge_options_fn$("
648648
"std::move(opts), options_));\n"
649649
" return connection_->$method_name$(request);\n"
650650
"}\n"} // clang-format on
@@ -659,7 +659,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
659659
"\nfuture<StatusOr<$longrunning_deduced_response_type$>>\n"},
660660
{"$client_class_name$::$method_name$($request_type$ const& request"
661661
", Options opts) {\n"
662-
" internal::OptionsSpan span(internal::MergeOptions("
662+
" internal::OptionsSpan span($merge_options_fn$("
663663
"std::move(opts), options_));\n"
664664
" return connection_->$method_name$(request);\n"
665665
"}\n"},
@@ -671,7 +671,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
671671
{"$client_class_name$::$method_name$(NoAwaitTag"
672672
", $request_type$ const& request"
673673
", Options opts) {\n"
674-
" internal::OptionsSpan span(internal::MergeOptions("
674+
" internal::OptionsSpan span($merge_options_fn$("
675675
"std::move(opts), options_));\n"
676676
" return connection_->$method_name$(NoAwaitTag{}, request);\n"
677677
"}\n"},
@@ -682,7 +682,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
682682
"\nfuture<StatusOr<$longrunning_deduced_response_type$>>\n"},
683683
{"$client_class_name$::$method_name$("
684684
"$longrunning_operation_type$ const& operation, Options opts) {\n"
685-
" internal::OptionsSpan span(internal::MergeOptions("
685+
" internal::OptionsSpan span($merge_options_fn$("
686686
"std::move(opts), options_));\n"
687687
" return connection_->$method_name$(operation);\n"},
688688
{"}\n"} // clang-format on
@@ -694,7 +694,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
694694
{"\nStreamRange<$range_output_type$>\n"
695695
"$client_class_name$::$method_name$($request_type$ request"
696696
", Options opts) {\n"
697-
" internal::OptionsSpan span(internal::MergeOptions("
697+
" internal::OptionsSpan span($merge_options_fn$("
698698
"std::move(opts), options_));\n"
699699
" return connection_->$method_name$(std::move(request));\n"
700700
"}\n"} // clang-format on
@@ -706,7 +706,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
706706
{"\nStreamRange<$response_type$>\n"
707707
"$client_class_name$::$method_name$($request_type$ const& request"
708708
", Options opts) {\n"
709-
" internal::OptionsSpan span(internal::MergeOptions("
709+
" internal::OptionsSpan span($merge_options_fn$("
710710
"std::move(opts), options_));\n"
711711
" return connection_->$method_name$(request);\n"
712712
"}\n"} // clang-format on
@@ -733,7 +733,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
733733
{"\nfuture<$return_type$>\n"},
734734
// clang-format off
735735
{method_string},
736-
{" internal::OptionsSpan span(internal::MergeOptions("
736+
{" internal::OptionsSpan span($merge_options_fn$("
737737
"std::move(opts), options_));\n"},
738738
{" $request_type$ request;\n"},
739739
{method_request_string},
@@ -752,7 +752,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
752752
// clang-format off
753753
{"$client_class_name$::Async$method_name$($request_type$ const& request"
754754
", Options opts) {\n"
755-
" internal::OptionsSpan span(internal::MergeOptions("
755+
" internal::OptionsSpan span($merge_options_fn$("
756756
"std::move(opts), options_));\n"
757757
" return connection_->Async$method_name$(request);\n"
758758
"}\n"} // clang-format on
@@ -768,7 +768,7 @@ std::unique_ptr<::google::cloud::AsyncStreamingReadWriteRpc<
768768
method.return_type(), R"""( $client_class_name$::)""", method.name(),
769769
absl::StrReplaceAll(method.parameters(), {{" = {}", ""}}),
770770
absl::StrFormat(R"""( {
771-
internal::OptionsSpan span(internal::MergeOptions(std::move(opts), options_));
771+
internal::OptionsSpan span($merge_options_fn$(std::move(opts), options_));
772772
return connection_->%s(request);
773773
}
774774
)""",

generator/internal/descriptor_utils.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -725,6 +725,10 @@ VarsDictionary CreateServiceVars(
725725
vars["logging_rest_header_path"] = absl::StrCat(
726726
vars["product_path"], "internal/", ServiceNameToFilePath(service_name),
727727
"_rest_logging_decorator.h");
728+
vars["merge_options_fn"] =
729+
absl::StartsWithIgnoreCase(service_name, "Bigtable")
730+
? "bigtable_internal::MergeOptions"
731+
: "internal::MergeOptions";
728732
vars["metadata_class_name"] = absl::StrCat(service_name, "Metadata");
729733
vars["metadata_cc_path"] = absl::StrCat(vars["product_path"], "internal/",
730734
ServiceNameToFilePath(service_name),

0 commit comments

Comments
 (0)