Skip to content

Commit

Permalink
[ConfigFetcherWatcher] Redesign interfaces between Server and Listener (
Browse files Browse the repository at this point in the history
grpc#37601)

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes grpc#37601

COPYBARA_INTEGRATE_REVIEW=grpc#37601 from yashykt:LogicalConnection 50aacc3
PiperOrigin-RevId: 713079761
  • Loading branch information
yashykt authored and copybara-github committed Jan 8, 2025
1 parent 2576ec8 commit d4fa2e6
Show file tree
Hide file tree
Showing 21 changed files with 1,979 additions and 221 deletions.
27 changes: 24 additions & 3 deletions BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -556,6 +556,9 @@ grpc_cc_library(
external_deps = [
"absl/base:core_headers",
"absl/log:log",
"absl/status",
"absl/status:statusor",
"absl/strings",
"absl/time:time",
"address_sorting",
],
Expand All @@ -574,6 +577,7 @@ grpc_cc_library(
"grpc_base",
"grpc_client_channel",
"grpc_common",
"grpc_core_credentials_header",
"grpc_http_filters",
"grpc_security_base",
"grpc_trace",
Expand Down Expand Up @@ -630,6 +634,9 @@ grpc_cc_library(
external_deps = [
"absl/base:core_headers",
"absl/log:log",
"absl/status",
"absl/status:statusor",
"absl/strings",
"absl/time:time",
"address_sorting",
],
Expand Down Expand Up @@ -657,6 +664,7 @@ grpc_cc_library(
"grpc_base",
"grpc_client_channel",
"grpc_common",
"grpc_core_credentials_header",
"grpc_credentials_util",
"grpc_http_filters",
"grpc_jwt_credentials",
Expand Down Expand Up @@ -772,6 +780,7 @@ grpc_cc_library(
"absl/synchronization",
"absl/time:time",
"absl/types:optional",
"absl/types:variant",
],
language = "c++",
public_hdrs = GPR_PUBLIC_HDRS,
Expand Down Expand Up @@ -1132,12 +1141,15 @@ grpc_cc_library(
"src/cpp/server/insecure_server_credentials.cc",
],
external_deps = [
"absl/functional:any_invocable",
"absl/log:check",
"absl/log:log",
"absl/log:absl_check",
"absl/log:absl_log",
"absl/status",
"absl/status:statusor",
"absl/strings",
"absl/strings:cord",
"absl/synchronization",
],
language = "c++",
Expand All @@ -1154,6 +1166,7 @@ grpc_cc_library(
"gpr",
"grpc++_base_unsecure",
"grpc++_codegen_proto",
"grpc++_config_proto",
"grpc_core_credentials_header",
"grpc_public_hdrs",
"grpc_security_base",
Expand Down Expand Up @@ -1509,8 +1522,8 @@ grpc_cc_library(
"absl/container:flat_hash_map",
"absl/container:flat_hash_set",
"absl/functional:any_invocable",
"absl/log",
"absl/log:check",
"absl/log:log",
"absl/status",
"absl/status:statusor",
"absl/strings",
Expand All @@ -1533,6 +1546,7 @@ grpc_cc_library(
"debug_location",
"exec_ctx",
"gpr",
"grpc_core_credentials_header",
"grpc_public_hdrs",
"grpc_trace",
"iomgr_buffer_list",
Expand All @@ -1558,7 +1572,6 @@ grpc_cc_library(
"//src/core:event_engine_shim",
"//src/core:event_engine_tcp_socket_utils",
"//src/core:event_log",
"//src/core:examine_stack",
"//src/core:experiments",
"//src/core:gpr_atm",
"//src/core:gpr_manual_constructor",
Expand Down Expand Up @@ -1764,8 +1777,8 @@ grpc_cc_library(
"absl/container:flat_hash_map",
"absl/container:flat_hash_set",
"absl/hash",
"absl/log",
"absl/log:check",
"absl/log:log",
"absl/random",
"absl/status",
"absl/status:statusor",
Expand All @@ -1787,12 +1800,14 @@ grpc_cc_library(
"gpr",
"grpc_base",
"grpc_public_hdrs",
"grpc_security_base",
"grpc_trace",
"iomgr",
"legacy_channel",
"orphanable",
"promise",
"ref_counted_ptr",
"sockaddr_utils",
"stats",
"//src/core:activity",
"//src/core:arena_promise",
Expand All @@ -1802,6 +1817,7 @@ grpc_cc_library(
"//src/core:channel_fwd",
"//src/core:channel_stack_type",
"//src/core:closure",
"//src/core:connection_quota",
"//src/core:connectivity_state",
"//src/core:context",
"//src/core:dual_ref_counted",
Expand All @@ -1816,6 +1832,7 @@ grpc_cc_library(
"//src/core:poll",
"//src/core:pollset_set",
"//src/core:random_early_detection",
"//src/core:resolved_address",
"//src/core:seq",
"//src/core:server_interface",
"//src/core:slice",
Expand Down Expand Up @@ -1892,6 +1909,7 @@ grpc_cc_library(
"absl/status:statusor",
"absl/strings",
"absl/strings:str_format",
"absl/time",
"absl/types:optional",
"absl/utility",
"madler_zlib",
Expand Down Expand Up @@ -2330,6 +2348,7 @@ grpc_cc_library(
"absl/status",
"absl/status:statusor",
"absl/strings",
"absl/strings:cord",
"absl/strings:str_format",
"absl/synchronization",
"absl/memory",
Expand All @@ -2353,6 +2372,7 @@ grpc_cc_library(
"gpr",
"grpc",
"grpc++_codegen_proto",
"grpc++_config_proto",
"grpc_base",
"grpc_core_credentials_header",
"grpc_credentials_util",
Expand Down Expand Up @@ -2418,6 +2438,7 @@ grpc_cc_library(
"absl/status",
"absl/status:statusor",
"absl/strings",
"absl/strings:cord",
"absl/synchronization",
"absl/log:absl_check",
"absl/log:absl_log",
Expand Down
53 changes: 53 additions & 0 deletions CMakeLists.txt

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions bazel/experiments.bzl

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 31 additions & 0 deletions build_autogenerated.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/core/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -7807,6 +7807,7 @@ grpc_cc_library(
"grpc_insecure_credentials",
"handshaker_registry",
"iomgr_fwd",
"match",
"memory_quota",
"pollset_set",
"resolved_address",
Expand Down
12 changes: 9 additions & 3 deletions src/core/ext/transport/chaotic_good/server/chaotic_good_server.h
Original file line number Diff line number Diff line change
Expand Up @@ -172,14 +172,20 @@ class ChaoticGoodServerListener final : public Server::ListenerInterface {
bool shutdown_ ABSL_GUARDED_BY(mu_) = false;
};

void Start(Server*, const std::vector<grpc_pollset*>*) override {
StartListening().IgnoreError();
};
void Start() override { StartListening().IgnoreError(); };

channelz::ListenSocketNode* channelz_listen_socket_node() const override {
return nullptr;
}

void SetServerListenerState(RefCountedPtr<Server::ListenerState>) override {}

const grpc_resolved_address* resolved_address() const override {
// chaotic good doesn't use the new ListenerState interface yet.
Crash("Unimplemented");
return nullptr;
}

void SetOnDestroyDone(grpc_closure* closure) override {
MutexLock lock(&mu_);
on_destroy_done_ = closure;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,14 +126,20 @@ class ChaoticGoodServerListener final : public Server::ListenerInterface {
int32_t data_alignment_;
};

void Start(Server*, const std::vector<grpc_pollset*>*) override {
StartListening().IgnoreError();
};
void Start() override { StartListening().IgnoreError(); };

channelz::ListenSocketNode* channelz_listen_socket_node() const override {
return nullptr;
}

void SetServerListenerState(RefCountedPtr<Server::ListenerState>) override {}

const grpc_resolved_address* resolved_address() const override {
// chaotic good doesn't use the new ListenerState interface yet.
Crash("Unimplemented");
return nullptr;
}

void SetOnDestroyDone(grpc_closure* closure) override {
MutexLock lock(&mu_);
on_destroy_done_ = closure;
Expand Down
Loading

0 comments on commit d4fa2e6

Please sign in to comment.