|
|
|
@ -58,6 +58,9 @@ namespace { |
|
|
|
|
// max-threads set) to the server builder.
|
|
|
|
|
#define DEFAULT_MAX_SYNC_SERVER_THREADS INT_MAX |
|
|
|
|
|
|
|
|
|
// How many callback requests of each method should we pre-register at start
|
|
|
|
|
#define DEFAULT_CALLBACK_REQS_PER_METHOD 32 |
|
|
|
|
|
|
|
|
|
class DefaultGlobalCallbacks final : public Server::GlobalCallbacks { |
|
|
|
|
public: |
|
|
|
|
~DefaultGlobalCallbacks() override {} |
|
|
|
@ -769,9 +772,12 @@ bool Server::RegisterService(const grpc::string* host, Service* service) { |
|
|
|
|
(*it)->AddSyncMethod(method, method_registration_tag); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
// a callback method
|
|
|
|
|
auto* req = new CallbackRequest(this, method, method_registration_tag); |
|
|
|
|
callback_reqs_.emplace_back(req); |
|
|
|
|
// a callback method. Register at least some callback requests
|
|
|
|
|
// TODO(vjpai): Register these dynamically based on need
|
|
|
|
|
for (int i = 0; i < DEFAULT_CALLBACK_REQS_PER_METHOD; i++) { |
|
|
|
|
auto* req = new CallbackRequest(this, method, method_registration_tag); |
|
|
|
|
callback_reqs_.emplace_back(req); |
|
|
|
|
} |
|
|
|
|
// Enqueue it so that it will be Request'ed later once
|
|
|
|
|
// all request matchers are created at core server startup
|
|
|
|
|
} |
|
|
|
|