diff --git a/include/grpc++/server_context.h b/include/grpc++/server_context.h index a4ee986df17c854e87748626a560757201bb510d..e6440c7fd81c94ab2a9cbf1c596d328abe52bcb8 100644 --- a/include/grpc++/server_context.h +++ b/include/grpc++/server_context.h @@ -76,6 +76,10 @@ class CallOpBuffer; class CompletionQueue; class Server; +namespace testing { +class InteropContextInspector; +} // namespace testing + // Interface of server side rpc context. class ServerContext { public: @@ -104,6 +108,7 @@ class ServerContext { } private: + friend class ::grpc::testing::InteropContextInspector; friend class ::grpc::Server; template <class W, class R> friend class ::grpc::ServerAsyncReader; diff --git a/test/cpp/interop/server_helper.cc b/test/cpp/interop/server_helper.cc index c2e750dcf7726270265d5d895a0e30e197e7d8a8..0f8b89ced2f57a7beb8ee1366bed80551f6e3020 100644 --- a/test/cpp/interop/server_helper.cc +++ b/test/cpp/interop/server_helper.cc @@ -58,5 +58,9 @@ std::shared_ptr<ServerCredentials> CreateInteropServerCredentials() { } } +InteropContextInspector::InteropContextInspector( + const ::grpc::ServerContext& context) + : context_(context) {} + } // namespace testing } // namespace grpc diff --git a/test/cpp/interop/server_helper.h b/test/cpp/interop/server_helper.h index f98e67bb67341d63ab4287420b5dbb0fdf1598fb..52332bf63367329a2a73063e71d656ad71ae4430 100644 --- a/test/cpp/interop/server_helper.h +++ b/test/cpp/interop/server_helper.h @@ -36,6 +36,7 @@ #include <memory> +#include <grpc++/server_context.h> #include <grpc++/server_credentials.h> namespace grpc { @@ -43,6 +44,16 @@ namespace testing { std::shared_ptr<ServerCredentials> CreateInteropServerCredentials(); +class InteropContextInspector { + public: + InteropContextInspector (const ::grpc::ServerContext& context); + + // Inspector methods, able to peek inside ServerContext go here. + + private: + const ::grpc::ServerContext& context_; +}; + } // namespace testing } // namespace grpc