34 #ifndef GRPCXX_SERVER_CONTEXT_H
35 #define GRPCXX_SERVER_CONTEXT_H
39 #include <grpc/support/time.h>
40 #include <grpc++/config.h>
41 #include <grpc++/time.h>
49 template <
class W,
class R>
55 template <
class R,
class W>
61 template <
class R,
class W>
75 #ifndef GRPC_CXX0X_NO_CHRONO
76 std::chrono::system_clock::time_point deadline() {
77 return Timespec2Timepoint(deadline_);
79 #endif // !GRPC_CXX0X_NO_CHRONO
83 void AddInitialMetadata(
const grpc::string& key,
const grpc::string& value);
84 void AddTrailingMetadata(
const grpc::string& key,
const grpc::string& value);
88 const std::multimap<grpc::string, grpc::string>& client_metadata() {
89 return client_metadata_;
93 friend class ::grpc::Server;
94 template <
class W,
class R>
95 friend class ::grpc::ServerAsyncReader;
97 friend class ::grpc::ServerAsyncWriter;
99 friend class ::grpc::ServerAsyncResponseWriter;
100 template <
class R,
class W>
101 friend class ::grpc::ServerAsyncReaderWriter;
103 friend class ::grpc::ServerReader;
105 friend class ::grpc::ServerWriter;
106 template <
class R,
class W>
107 friend class ::grpc::ServerReaderWriter;
111 void BeginCompletionOp(
Call* call);
114 size_t metadata_count);
116 CompletionOp* completion_op_;
121 bool sent_initial_metadata_;
122 std::multimap<grpc::string, grpc::string> client_metadata_;
123 std::multimap<grpc::string, grpc::string> initial_metadata_;
124 std::multimap<grpc::string, grpc::string> trailing_metadata_;
129 #endif // GRPCXX_SERVER_CONTEXT_H
Definition: completion_queue.h:76
Definition: completion_queue.h:53
Definition: server_context.h:54
Definition: server_context.h:50
Definition: completion_queue.h:55
Definition: server_context.h:56
Definition: completion_queue.h:57
Definition: server_context.h:70
Definition: server_context.h:52