aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/grpcpp/impl/codegen/server_interceptor.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/grpcpp/impl/codegen/server_interceptor.h')
-rw-r--r--include/grpcpp/impl/codegen/server_interceptor.h23
1 files changed, 14 insertions, 9 deletions
diff --git a/include/grpcpp/impl/codegen/server_interceptor.h b/include/grpcpp/impl/codegen/server_interceptor.h
index 14b786cef9..3f8cbcca8d 100644
--- a/include/grpcpp/impl/codegen/server_interceptor.h
+++ b/include/grpcpp/impl/codegen/server_interceptor.h
@@ -45,15 +45,7 @@ class ServerInterceptorFactoryInterface {
class ServerRpcInfo {
public:
ServerRpcInfo() {}
- ServerRpcInfo(grpc::ServerContext* ctx, const char* method,
- const std::vector<std::unique_ptr<
- experimental::ServerInterceptorFactoryInterface>>& creators)
- : ctx_(ctx), method_(method) {
- for (const auto& creator : creators) {
- interceptors_.push_back(std::unique_ptr<experimental::Interceptor>(
- creator->CreateServerInterceptor(this)));
- }
- }
+
~ServerRpcInfo(){};
ServerRpcInfo(const ServerRpcInfo&) = delete;
@@ -74,11 +66,24 @@ class ServerRpcInfo {
}
private:
+ ServerRpcInfo(grpc::ServerContext* ctx, const char* method)
+ : ctx_(ctx), method_(method) {}
+
+ void RegisterInterceptors(
+ const std::vector<
+ std::unique_ptr<experimental::ServerInterceptorFactoryInterface>>&
+ creators) {
+ for (const auto& creator : creators) {
+ interceptors_.push_back(std::unique_ptr<experimental::Interceptor>(
+ creator->CreateServerInterceptor(this)));
+ }
+ }
grpc::ServerContext* ctx_ = nullptr;
const char* method_ = nullptr;
std::vector<std::unique_ptr<experimental::Interceptor>> interceptors_;
friend class internal::InterceptorBatchMethodsImpl;
+ friend class grpc::ServerContext;
};
} // namespace experimental