aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/cpp/server/server_cc.cc
diff options
context:
space:
mode:
authorGravatar makdharma <>2018-02-23 14:51:46 -0800
committerGravatar makdharma <>2018-02-23 14:51:46 -0800
commit8065000697a6225d76ebbcc8b7eca9f01a9be474 (patch)
tree631957652131f23d1fe5c8397bad376d7394df02 /src/cpp/server/server_cc.cc
parent5699cfcd4537df3a4358034fcfefed1ccc5a66a2 (diff)
Remove "final" keyword and make methods protected.
This adds extensibility to the API and makes custom implementation of the server possible.
Diffstat (limited to 'src/cpp/server/server_cc.cc')
-rw-r--r--src/cpp/server/server_cc.cc20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/cpp/server/server_cc.cc b/src/cpp/server/server_cc.cc
index 5638636e67..067f292b6e 100644
--- a/src/cpp/server/server_cc.cc
+++ b/src/cpp/server/server_cc.cc
@@ -368,13 +368,13 @@ Server::Server(
std::shared_ptr<std::vector<std::unique_ptr<ServerCompletionQueue>>>
sync_server_cqs,
int min_pollers, int max_pollers, int sync_cq_timeout_msec)
- : max_receive_message_size_(max_receive_message_size),
- sync_server_cqs_(sync_server_cqs),
+ : server_(nullptr),
started_(false),
+ max_receive_message_size_(max_receive_message_size),
+ sync_server_cqs_(sync_server_cqs),
shutdown_(false),
shutdown_notified_(false),
has_generic_service_(false),
- server_(nullptr),
server_initializer_(new ServerInitializer(this)),
health_check_service_disabled_(false) {
g_gli_initializer.summon();
@@ -382,11 +382,13 @@ Server::Server(
global_callbacks_ = g_callbacks;
global_callbacks_->UpdateArguments(args);
- for (auto it = sync_server_cqs_->begin(); it != sync_server_cqs_->end();
- it++) {
- sync_req_mgrs_.emplace_back(new SyncRequestThreadManager(
- this, (*it).get(), global_callbacks_, min_pollers, max_pollers,
- sync_cq_timeout_msec));
+ if (sync_server_cqs_ != nullptr) {
+ for (auto it = sync_server_cqs_->begin(); it != sync_server_cqs_->end();
+ it++) {
+ sync_req_mgrs_.emplace_back(new SyncRequestThreadManager(
+ this, (*it).get(), global_callbacks_, min_pollers, max_pollers,
+ sync_cq_timeout_msec));
+ }
}
grpc_channel_args channel_args;
@@ -525,7 +527,7 @@ void Server::Start(ServerCompletionQueue** cqs, size_t num_cqs) {
// explicit one.
if (health_check_service_ == nullptr && !health_check_service_disabled_ &&
DefaultHealthCheckServiceEnabled()) {
- if (sync_server_cqs_->empty()) {
+ if (sync_server_cqs_ == nullptr || sync_server_cqs_->empty()) {
gpr_log(GPR_INFO,
"Default health check service disabled at async-only server.");
} else {