summaryrefslogtreecommitdiff
path: root/grpc/include/grpcpp/server_builder.h
diff options
context:
space:
mode:
Diffstat (limited to 'grpc/include/grpcpp/server_builder.h')
-rw-r--r--grpc/include/grpcpp/server_builder.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/grpc/include/grpcpp/server_builder.h b/grpc/include/grpcpp/server_builder.h
index cb75d87d..00e82a10 100644
--- a/grpc/include/grpcpp/server_builder.h
+++ b/grpc/include/grpcpp/server_builder.h
@@ -269,6 +269,11 @@ class ServerBuilder {
builder_->interceptor_creators_ = std::move(interceptor_creators);
}
+ /// Set the allocator for creating and releasing callback server context.
+ /// Takes the owndership of the allocator.
+ ServerBuilder& SetContextAllocator(
+ std::unique_ptr<grpc::ContextAllocator> context_allocator);
+
#ifndef GRPC_CALLBACK_API_NONEXPERIMENTAL
/// Register a generic service that uses the callback API.
/// Matches requests with any :authority
@@ -352,6 +357,9 @@ class ServerBuilder {
server_config_fetcher_ = server_config_fetcher;
}
+ /// Experimental API, subject to change.
+ virtual ChannelArguments BuildChannelArgs();
+
private:
friend class ::grpc::testing::ServerBuilderPluginTest;
@@ -389,6 +397,7 @@ class ServerBuilder {
std::vector<std::unique_ptr<grpc::ServerBuilderPlugin>> plugins_;
grpc_resource_quota* resource_quota_;
grpc::AsyncGenericService* generic_service_{nullptr};
+ std::unique_ptr<ContextAllocator> context_allocator_;
#ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
grpc::CallbackGenericService* callback_generic_service_{nullptr};
#else