34 #ifndef GRPCXX_IMPL_CODEGEN_SERVER_CONTEXT_H 35 #define GRPCXX_IMPL_CODEGEN_SERVER_CONTEXT_H 51 struct census_context;
56 template <
class W,
class R>
57 class ServerAsyncReader;
59 class ServerAsyncWriter;
61 class ServerAsyncResponseWriter;
62 template <
class W,
class R>
63 class ServerAsyncReaderWriter;
68 template <
class W,
class R>
69 class ServerReaderWriter;
70 template <
class ServiceType,
class RequestType,
class ResponseType>
71 class RpcMethodHandler;
72 template <
class ServiceType,
class RequestType,
class ResponseType>
73 class ClientStreamingHandler;
74 template <
class ServiceType,
class RequestType,
class ResponseType>
75 class ServerStreamingHandler;
76 template <
class ServiceType,
class RequestType,
class ResponseType>
77 class BidiStreamingHandler;
78 class UnknownMethodHandler;
82 class CompletionQueue;
84 class ServerInterface;
87 class InteropServerContextInspector;
96 #ifndef GRPC_CXX0X_NO_CHRONO 97 std::chrono::system_clock::time_point
deadline()
const {
100 #endif // !GRPC_CXX0X_NO_CHRONO 110 bool IsCancelled()
const;
123 void TryCancel()
const;
127 return client_metadata_;
131 return compression_level_;
135 compression_level_set_ =
true;
136 compression_level_ = level;
142 return compression_algorithm_;
147 if (auth_context_.get() ==
nullptr) {
150 return auth_context_;
159 const struct census_context* census_context()
const;
165 has_notify_when_done_tag_ =
true;
166 async_notify_when_done_tag_ = tag;
170 friend class ::grpc::testing::InteropServerContextInspector;
171 friend class ::grpc::ServerInterface;
172 friend class ::grpc::Server;
173 template <
class W,
class R>
174 friend class ::grpc::ServerAsyncReader;
176 friend class ::grpc::ServerAsyncWriter;
178 friend class ::grpc::ServerAsyncResponseWriter;
179 template <
class W,
class R>
180 friend class ::grpc::ServerAsyncReaderWriter;
182 friend class ::grpc::ServerReader;
184 friend class ::grpc::ServerWriter;
185 template <
class W,
class R>
186 friend class ::grpc::ServerReaderWriter;
187 template <
class ServiceType,
class RequestType,
class ResponseType>
189 template <
class ServiceType,
class RequestType,
class ResponseType>
191 template <
class ServiceType,
class RequestType,
class ResponseType>
193 template <
class ServiceType,
class RequestType,
class ResponseType>
196 friend class ::grpc::ClientContext;
204 void BeginCompletionOp(
Call* call);
207 size_t metadata_count);
209 void set_call(
grpc_call* call) { call_ = call; }
211 uint32_t initial_metadata_flags()
const {
return 0; }
213 CompletionOp* completion_op_;
214 bool has_notify_when_done_tag_;
215 void* async_notify_when_done_tag_;
220 bool sent_initial_metadata_;
221 mutable std::shared_ptr<const AuthContext> auth_context_;
222 std::multimap<grpc::string_ref, grpc::string_ref> client_metadata_;
223 std::multimap<grpc::string, grpc::string> initial_metadata_;
224 std::multimap<grpc::string, grpc::string> trailing_metadata_;
226 bool compression_level_set_;
233 #endif // GRPCXX_IMPL_CODEGEN_SERVER_CONTEXT_H grpc_compression_algorithm compression_algorithm() const
Definition: server_context.h:141
struct grpc_call grpc_call
A Call represents an RPC.
Definition: grpc_types.h:62
std::shared_ptr< const AuthContext > CreateAuthContext(grpc_call *call)
grpc_compression_level compression_level() const
Definition: server_context.h:130
std::string string
Definition: config.h:118
gpr_timespec raw_deadline() const
Definition: server_context.h:102
void set_compression_level(grpc_compression_level level)
Definition: server_context.h:134
void AsyncNotifyWhenDone(void *tag)
Definition: server_context.h:164
grpc_compression_level
Compression levels allow a party with knowledge of its peer's accepted encodings to request compressi...
Definition: compression_types.h:84
Definition: method_handler_impl.h:206
grpc_compression_algorithm
Definition: compression_types.h:72
Definition: completion_queue.h:74
Definition: server_context.h:91
const std::multimap< grpc::string_ref, grpc::string_ref > & client_metadata() const
Definition: server_context.h:125
A thin wrapper around grpc_completion_queue (see / src/core/surface/completion_queue.h).
Definition: completion_queue.h:97
Definition: completion_queue.h:76
Definition: completion_queue.h:78
std::chrono::system_clock::time_point Timespec2Timepoint(gpr_timespec t)
std::shared_ptr< const AuthContext > auth_context() const
Definition: server_context.h:146
bool compression_level_set() const
Definition: server_context.h:139
std::chrono::system_clock::time_point deadline() const
Definition: server_context.h:97
Definition: completion_queue.h:80