aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/grpc++/server_context.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/grpc++/server_context.h')
-rw-r--r--include/grpc++/server_context.h162
1 files changed, 1 insertions, 161 deletions
diff --git a/include/grpc++/server_context.h b/include/grpc++/server_context.h
index 8ba73486dc..214188a03a 100644
--- a/include/grpc++/server_context.h
+++ b/include/grpc++/server_context.h
@@ -34,166 +34,6 @@
#ifndef GRPCXX_SERVER_CONTEXT_H
#define GRPCXX_SERVER_CONTEXT_H
-#include <map>
-#include <memory>
-
-#include <grpc/compression.h>
-#include <grpc/support/time.h>
-#include <grpc++/security/auth_context.h>
-#include <grpc++/support/config.h>
-#include <grpc++/support/string_ref.h>
-#include <grpc++/support/time.h>
-
-struct gpr_timespec;
-struct grpc_metadata;
-struct grpc_call;
-struct census_context;
-
-namespace grpc {
-
-class ClientContext;
-template <class W, class R>
-class ServerAsyncReader;
-template <class W>
-class ServerAsyncWriter;
-template <class W>
-class ServerAsyncResponseWriter;
-template <class W, class R>
-class ServerAsyncReaderWriter;
-template <class R>
-class ServerReader;
-template <class W>
-class ServerWriter;
-template <class W, class R>
-class ServerReaderWriter;
-template <class ServiceType, class RequestType, class ResponseType>
-class RpcMethodHandler;
-template <class ServiceType, class RequestType, class ResponseType>
-class ClientStreamingHandler;
-template <class ServiceType, class RequestType, class ResponseType>
-class ServerStreamingHandler;
-template <class ServiceType, class RequestType, class ResponseType>
-class BidiStreamingHandler;
-class UnknownMethodHandler;
-
-class Call;
-class CallOpBuffer;
-class CompletionQueue;
-class Server;
-
-namespace testing {
-class InteropServerContextInspector;
-} // namespace testing
-
-// Interface of server side rpc context.
-class ServerContext {
- public:
- ServerContext(); // for async calls
- ~ServerContext();
-
-#ifndef GRPC_CXX0X_NO_CHRONO
- std::chrono::system_clock::time_point deadline() {
- return Timespec2Timepoint(deadline_);
- }
-#endif // !GRPC_CXX0X_NO_CHRONO
-
- gpr_timespec raw_deadline() { return deadline_; }
-
- void AddInitialMetadata(const grpc::string& key, const grpc::string& value);
- void AddTrailingMetadata(const grpc::string& key, const grpc::string& value);
-
- bool IsCancelled() const;
-
- const std::multimap<grpc::string_ref, grpc::string_ref>& client_metadata() {
- return client_metadata_;
- }
-
- grpc_compression_level compression_level() const {
- return compression_level_;
- }
- void set_compression_level(grpc_compression_level level);
-
- grpc_compression_algorithm compression_algorithm() const {
- return compression_algorithm_;
- }
- void set_compression_algorithm(grpc_compression_algorithm algorithm);
-
- std::shared_ptr<const AuthContext> auth_context() const;
-
- // Return the peer uri in a string.
- // WARNING: this value is never authenticated or subject to any security
- // related code. It must not be used for any authentication related
- // functionality. Instead, use auth_context.
- grpc::string peer() const;
-
- const struct census_context* census_context() const;
-
- // Async only. Has to be called before the rpc starts.
- // Returns the tag in completion queue when the rpc finishes.
- // IsCancelled() can then be called to check whether the rpc was cancelled.
- void AsyncNotifyWhenDone(void* tag) {
- has_notify_when_done_tag_ = true;
- async_notify_when_done_tag_ = tag;
- }
-
- private:
- friend class ::grpc::testing::InteropServerContextInspector;
- friend class ::grpc::Server;
- template <class W, class R>
- friend class ::grpc::ServerAsyncReader;
- template <class W>
- friend class ::grpc::ServerAsyncWriter;
- template <class W>
- friend class ::grpc::ServerAsyncResponseWriter;
- template <class W, class R>
- friend class ::grpc::ServerAsyncReaderWriter;
- template <class R>
- friend class ::grpc::ServerReader;
- template <class W>
- friend class ::grpc::ServerWriter;
- template <class W, class R>
- friend class ::grpc::ServerReaderWriter;
- template <class ServiceType, class RequestType, class ResponseType>
- friend class RpcMethodHandler;
- template <class ServiceType, class RequestType, class ResponseType>
- friend class ClientStreamingHandler;
- template <class ServiceType, class RequestType, class ResponseType>
- friend class ServerStreamingHandler;
- template <class ServiceType, class RequestType, class ResponseType>
- friend class BidiStreamingHandler;
- friend class UnknownMethodHandler;
- friend class ::grpc::ClientContext;
-
- // Prevent copying.
- ServerContext(const ServerContext&);
- ServerContext& operator=(const ServerContext&);
-
- class CompletionOp;
-
- void BeginCompletionOp(Call* call);
-
- ServerContext(gpr_timespec deadline, grpc_metadata* metadata,
- size_t metadata_count);
-
- void set_call(grpc_call* call);
-
- CompletionOp* completion_op_;
- bool has_notify_when_done_tag_;
- void* async_notify_when_done_tag_;
-
- gpr_timespec deadline_;
- grpc_call* call_;
- CompletionQueue* cq_;
- bool sent_initial_metadata_;
- mutable std::shared_ptr<const AuthContext> auth_context_;
- std::multimap<grpc::string_ref, grpc::string_ref> client_metadata_;
- std::multimap<grpc::string, grpc::string> initial_metadata_;
- std::multimap<grpc::string, grpc::string> trailing_metadata_;
-
- grpc_compression_level compression_level_;
- grpc_compression_algorithm compression_algorithm_;
-};
-
-} // namespace grpc
+#include <grpc++/impl/codegen/server_context.h>
#endif // GRPCXX_SERVER_CONTEXT_H