grpcpp/impl/codegen/server_context.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright 2019 gRPC authors.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 #ifndef GRPCPP_IMPL_CODEGEN_SERVER_CONTEXT_H
20 #define GRPCPP_IMPL_CODEGEN_SERVER_CONTEXT_H
21 
22 // IWYU pragma: private, include <grpcpp/server_context.h>
23 
25 
26 #include <atomic>
27 #include <cassert>
28 #include <map>
29 #include <memory>
30 #include <type_traits>
31 #include <vector>
32 
49 
50 struct grpc_metadata;
51 struct grpc_call;
52 struct census_context;
53 
54 namespace grpc {
55 template <class W, class R>
56 class ServerAsyncReader;
57 template <class W>
58 class ServerAsyncWriter;
59 template <class W>
60 class ServerAsyncResponseWriter;
61 template <class W, class R>
62 class ServerAsyncReaderWriter;
63 template <class R>
64 class ServerReader;
65 template <class W>
66 class ServerWriter;
67 
68 extern CoreCodegenInterface* g_core_codegen_interface;
69 
70 namespace internal {
71 template <class ServiceType, class RequestType, class ResponseType>
72 class BidiStreamingHandler;
73 template <class RequestType, class ResponseType>
74 class CallbackUnaryHandler;
75 template <class RequestType, class ResponseType>
76 class CallbackClientStreamingHandler;
77 template <class RequestType, class ResponseType>
78 class CallbackServerStreamingHandler;
79 template <class RequestType, class ResponseType>
80 class CallbackBidiHandler;
81 template <class ServiceType, class RequestType, class ResponseType>
82 class ClientStreamingHandler;
83 template <class ResponseType>
84 void UnaryRunHandlerHelper(const MethodHandler::HandlerParameter&,
85  ResponseType*, Status&);
86 template <class ServiceType, class RequestType, class ResponseType,
87  class BaseRequestType, class BaseResponseType>
88 class RpcMethodHandler;
89 template <class Base>
90 class FinishOnlyReactor;
91 template <class W, class R>
92 class ServerReaderWriterBody;
93 template <class ServiceType, class RequestType, class ResponseType>
94 class ServerStreamingHandler;
95 class ServerReactor;
96 template <class Streamer, bool WriteNeeded>
97 class TemplatedBidiStreamingHandler;
98 template <grpc::StatusCode code>
99 class ErrorMethodHandler;
100 } // namespace internal
101 
102 class ClientContext;
103 class CompletionQueue;
104 class GenericServerContext;
105 class Server;
106 class ServerInterface;
107 class ContextAllocator;
108 class GenericCallbackServerContext;
109 
110 namespace internal {
111 class Call;
112 } // namespace internal
113 
114 namespace testing {
115 class InteropServerContextInspector;
116 class ServerContextTestSpouse;
117 class DefaultReactorTestPeer;
118 } // namespace testing
119 
120 namespace experimental {
121 class OrcaServerInterceptor;
122 class CallMetricRecorder;
123 } // namespace experimental
124 
127  public:
128  virtual ~ServerContextBase();
129 
133  }
134 
136  gpr_timespec raw_deadline() const { return deadline_; }
137 
152 
161  void AddInitialMetadata(const std::string& key, const std::string& value);
162 
177 
186  void AddTrailingMetadata(const std::string& key, const std::string& value);
187 
199  bool IsCancelled() const;
200 
219  void TryCancel() const;
220 
230  const std::multimap<grpc::string_ref, grpc::string_ref>& client_metadata()
231  const {
232  return *client_metadata_.map();
233  }
234 
237  return compression_level_;
238  }
239 
244  compression_level_set_ = true;
246  }
247 
252 
258  return compression_algorithm_;
259  }
264 
266  void SetLoadReportingCosts(const std::vector<std::string>& cost_data);
267 
271  std::shared_ptr<const grpc::AuthContext> auth_context() const {
272  if (auth_context_ == nullptr) {
274  }
275  return auth_context_;
276  }
277 
282  std::string peer() const;
283 
285  const struct census_context* census_context() const;
286 
289  grpc_call* c_call() { return call_.call; }
290 
297  return call_metric_recorder_;
298  }
299 
303 
304  protected:
310  void AsyncNotifyWhenDone(void* tag) {
313  }
314 
319 
335  // Short-circuit the case where a default reactor was already set up by
336  // the TestPeer.
337  if (test_unary_ != nullptr) {
338  return reinterpret_cast<Reactor*>(&default_reactor_);
339  }
340  new (&default_reactor_) Reactor;
341 #ifndef NDEBUG
342  bool old = false;
343  assert(default_reactor_used_.compare_exchange_strong(
344  old, true, std::memory_order_relaxed));
345 #else
346  default_reactor_used_.store(true, std::memory_order_relaxed);
347 #endif
348  return reinterpret_cast<Reactor*>(&default_reactor_);
349  }
350 
354 
357  }
358 
360 
361  private:
365  friend class grpc::ServerInterface;
366  friend class grpc::Server;
367  template <class W, class R>
369  template <class W>
371  template <class W>
373  template <class W, class R>
375  template <class R>
376  friend class grpc::ServerReader;
377  template <class W>
378  friend class grpc::ServerWriter;
379  template <class W, class R>
381  template <class ResponseType>
384  Status& status);
385  template <class ServiceType, class RequestType, class ResponseType,
386  class BaseRequestType, class BaseResponseType>
388  template <class ServiceType, class RequestType, class ResponseType>
390  template <class ServiceType, class RequestType, class ResponseType>
392  template <class Streamer, bool WriteNeeded>
394  template <class RequestType, class ResponseType>
396  template <class RequestType, class ResponseType>
398  template <class RequestType, class ResponseType>
400  template <class RequestType, class ResponseType>
402  template <grpc::StatusCode code>
404  template <class Base>
406  friend class grpc::ClientContext;
410 
414 
415  class CompletionOp;
416 
417  void BeginCompletionOp(
419  grpc::internal::ServerCallbackCall* callback_controller);
422 
424 
426 
427  uint32_t initial_metadata_flags() const { return 0; }
428 
431  const std::vector<std::unique_ptr<
433  if (!creators.empty()) {
435  rpc_info_->RegisterInterceptors(creators);
436  }
437  return rpc_info_;
438  }
439 
441  message_allocator_state_ = allocator_state;
442  }
443 
446  call_.call)) {
447  marked_cancelled_.store(true, std::memory_order_release);
448  }
449  }
450 
452 
453  struct CallWrapper {
454  ~CallWrapper();
455 
456  grpc_call* call = nullptr;
457  };
458 
459  // NOTE: call_ must be the first data member of this object so that its
460  // destructor is the last to be called, since its destructor may unref
461  // the underlying core call which holds the arena that may be used to
462  // hold this object.
464 
469 
473  mutable std::shared_ptr<const grpc::AuthContext> auth_context_;
475  std::multimap<std::string, std::string> initial_metadata_;
476  std::multimap<std::string, std::string> trailing_metadata_;
477 
481 
485  bool has_pending_ops_ = false;
486 
491 
493  public:
494  void OnCancel() override {}
495  void OnDone() override {}
496  // Override InternalInlineable for this class since its reactions are
497  // trivial and thus do not need to be run from the executor (triggering a
498  // thread hop). This should only be used by internal reactors (thus the
499  // name) and not by user application code.
500  bool InternalInlineable() override { return true; }
501  };
502 
504  // NOLINTNEXTLINE(modernize-make-unique)
506  }
507  bool test_status_set() const {
508  return (test_unary_ != nullptr) && test_unary_->status_set();
509  }
510  grpc::Status test_status() const { return test_unary_->status(); }
511 
513  public:
517  this->BindReactor(reactor_);
518  }
519  void Finish(grpc::Status s) override {
520  status_ = s;
521  func_(std::move(s));
522  status_set_.store(true, std::memory_order_release);
523  }
524  void SendInitialMetadata() override {}
525 
526  bool status_set() const {
527  return status_set_.load(std::memory_order_acquire);
528  }
529  grpc::Status status() const { return status_; }
530 
531  private:
532  void CallOnDone() override {}
534 
536  std::atomic_bool status_set_{false};
539  };
540 
541  typename std::aligned_storage<sizeof(Reactor), alignof(Reactor)>::type
543  std::atomic_bool default_reactor_used_{false};
544 
545  std::atomic_bool marked_cancelled_{false};
546 
547  std::unique_ptr<TestServerCallbackUnary> test_unary_;
548 };
549 
567  public:
568  ServerContext() {} // for async calls
569 
587 
588  // Sync/CQ-based Async ServerContext only
590 
591  private:
592  // Constructor for internal use by server only
593  friend class grpc::Server;
595  : ServerContextBase(deadline, arr) {}
596 
597  // CallbackServerContext only
600 
602  ServerContext(const ServerContext&) = delete;
603  ServerContext& operator=(const ServerContext&) = delete;
604 };
605 
607  public:
611 
631 
632  // CallbackServerContext only
635 
636  private:
637  // Sync/CQ-based Async ServerContext only
639 
643 };
644 
651  public:
652  virtual ~ContextAllocator() {}
653 
654  virtual CallbackServerContext* NewCallbackServerContext() { return nullptr; }
655 
657  return nullptr;
658  }
659 
660  virtual void Release(CallbackServerContext*) {}
661 
663 };
664 
665 } // namespace grpc
666 
667 static_assert(
669  "improper base class");
670 static_assert(std::is_base_of<grpc::ServerContextBase,
672  "improper base class");
673 static_assert(sizeof(grpc::ServerContextBase) == sizeof(grpc::ServerContext),
674  "wrong size");
675 static_assert(sizeof(grpc::ServerContextBase) ==
677  "wrong size");
678 
679 #endif // GRPCPP_IMPL_CODEGEN_SERVER_CONTEXT_H
grpc::ServerContextBase::CallWrapper
Definition: grpcpp/impl/codegen/server_context.h:453
grpc::ServerContextBase::pending_ops_
grpc::internal::CallOpSet< grpc::internal::CallOpSendInitialMetadata, grpc::internal::CallOpSendMessage > pending_ops_
Definition: grpcpp/impl/codegen/server_context.h:484
grpc::experimental::ServerInterceptorFactoryInterface
Definition: impl/codegen/server_interceptor.h:45
grpc::internal::CallOpSendMessage
Definition: call_op_set.h:289
grpc::string_ref
Definition: grpcpp/impl/codegen/string_ref.h:43
census_context
struct census_context census_context
Definition: census.h:34
grpc::ServerContextBase::TestServerCallbackUnary::SendInitialMetadata
void SendInitialMetadata() override
Definition: grpcpp/impl/codegen/server_context.h:524
grpc::ServerContextBase::TestServerCallbackUnary::func_
const std::function< void(grpc::Status s)> func_
Definition: grpcpp/impl/codegen/server_context.h:538
testing
Definition: aws_request_signer_test.cc:25
grpc::status
auto status
Definition: cpp/client/credentials_test.cc:200
grpc::ServerContextBase::census_context
const struct census_context * census_context() const
Get the census context associated with this server call.
Definition: server_context.cc:394
grpc::ServerWriter
Definition: include/grpcpp/impl/codegen/completion_queue.h:60
grpc::ServerContextBase::set_context_allocator
void set_context_allocator(ContextAllocator *context_allocator)
Definition: grpcpp/impl/codegen/server_context.h:355
grpc._simple_stubs.RequestType
RequestType
Definition: _simple_stubs.py:27
grpc._simple_stubs.ResponseType
ResponseType
Definition: _simple_stubs.py:28
grpc::ServerContext
Definition: grpcpp/impl/codegen/server_context.h:566
grpc::ServerContextBase::compression_level_set_
bool compression_level_set_
Definition: grpcpp/impl/codegen/server_context.h:478
ctx
Definition: benchmark-async.c:30
grpc::ServerContextBase::TestServerCallbackUnary
Definition: grpcpp/impl/codegen/server_context.h:512
grpc::internal::FinishOnlyReactor
Definition: impl/codegen/server_callback.h:770
grpc::ServerContextBase::call_
CallWrapper call_
Definition: grpcpp/impl/codegen/server_context.h:463
rpc_service_method.h
grpc::ServerContextBase::compression_level
grpc_compression_level compression_level() const
Return the compression algorithm to be used by the server call.
Definition: grpcpp/impl/codegen/server_context.h:236
grpc
Definition: grpcpp/alarm.h:33
grpc::ServerContextBase::CallWrapper::call
grpc_call * call
Definition: grpcpp/impl/codegen/server_context.h:456
grpc::ServerContextBase::AddTrailingMetadata
void AddTrailingMetadata(const std::string &key, const std::string &value)
Definition: server_context.cc:335
grpc::ServerAsyncReader
Definition: grpcpp/impl/codegen/async_stream.h:698
grpc::ServerContextBase::trailing_metadata_
std::multimap< std::string, std::string > trailing_metadata_
Definition: grpcpp/impl/codegen/server_context.h:476
absl::time_internal::cctz::time_point
std::chrono::time_point< std::chrono::system_clock, D > time_point
Definition: abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h:39
grpc::ServerContextBase::set_message_allocator_state
void set_message_allocator_state(RpcAllocatorState *allocator_state)
Definition: grpcpp/impl/codegen/server_context.h:440
grpc::ServerContextBase::TestServerCallbackUnary::CallOnDone
void CallOnDone() override
Definition: grpcpp/impl/codegen/server_context.h:532
grpc_metadata_array
Definition: grpc_types.h:579
grpc_compression_algorithm
grpc_compression_algorithm
Definition: compression_types.h:60
grpc::ServerContextBase::TestServerCallbackUnary::status_set_
std::atomic_bool status_set_
Definition: grpcpp/impl/codegen/server_context.h:536
grpc::ServerContextBase::marked_cancelled_
std::atomic_bool marked_cancelled_
Definition: grpcpp/impl/codegen/server_context.h:545
grpc::ServerContextBase::ServerContextBase
ServerContextBase()
Constructors for use by derived classes.
Definition: server_context.cc:263
grpc::ServerContextBase::cq_
grpc::CompletionQueue * cq_
Definition: grpcpp/impl/codegen/server_context.h:471
grpc::ServerContextBase::IsCancelled
bool IsCancelled() const
Definition: server_context.cc:355
grpc::ServerContextBase::DefaultReactor
grpc::ServerUnaryReactor * DefaultReactor()
Definition: grpcpp/impl/codegen/server_context.h:334
testing::internal::string
::std::string string
Definition: bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
grpc::ServerContextBase::peer
std::string peer() const
Definition: server_context.cc:384
grpc::ServerContextBase::context_allocator
ContextAllocator * context_allocator() const
Definition: grpcpp/impl/codegen/server_context.h:359
framework.rpc.grpc_channelz.Server
Server
Definition: grpc_channelz.py:42
grpc::internal::ServerCallbackCall
The base class of ServerCallbackUnary etc.
Definition: impl/codegen/server_callback.h:75
auth_context.h
create_auth_context.h
grpc::GenericServerContext
Definition: grpcpp/impl/codegen/async_generic_service.h:41
server_interceptor.h
grpc::ServerContextBase::compression_algorithm_
grpc_compression_algorithm compression_algorithm_
Definition: grpcpp/impl/codegen/server_context.h:480
grpc::ServerContextBase::BeginCompletionOp
void BeginCompletionOp(grpc::internal::Call *call, std::function< void(bool)> callback, grpc::internal::ServerCallbackCall *callback_controller)
Definition: server_context.cc:304
grpc::ServerAsyncReaderWriter
Definition: grpcpp/impl/codegen/async_stream.h:1010
grpc::ContextAllocator::~ContextAllocator
virtual ~ContextAllocator()
Definition: grpcpp/impl/codegen/server_context.h:652
grpc::internal::ErrorMethodHandler
Definition: include/grpcpp/impl/codegen/byte_buffer.h:49
server_callback.h
grpc::ContextAllocator::NewCallbackServerContext
virtual CallbackServerContext * NewCallbackServerContext()
Definition: grpcpp/impl/codegen/server_context.h:654
grpc::ServerContextBase::deadline
std::chrono::system_clock::time_point deadline() const
Return the deadline for the server call.
Definition: grpcpp/impl/codegen/server_context.h:131
grpc::ServerContextBase::client_metadata_
grpc::internal::MetadataMap client_metadata_
Definition: grpcpp/impl/codegen/server_context.h:474
grpc::internal::RpcMethodHandler
A wrapper class of an application provided rpc method handler.
Definition: include/grpcpp/impl/codegen/completion_queue.h:71
grpc::ServerContextBase::TestServerCallbackUnary::reactor_
grpc::ServerUnaryReactor *const reactor_
Definition: grpcpp/impl/codegen/server_context.h:535
grpc::ServerContextBase::AddInitialMetadata
void AddInitialMetadata(const std::string &key, const std::string &value)
Definition: server_context.cc:330
grpc::ServerCallbackUnary
Definition: impl/codegen/server_callback.h:193
config.h
grpc::ServerContextBase::auth_context
std::shared_ptr< const grpc::AuthContext > auth_context() const
Definition: grpcpp/impl/codegen/server_context.h:271
grpc::ServerContextBase::CallWrapper::~CallWrapper
~CallWrapper()
Definition: server_context.cc:296
metadata_map.h
call
FilterStackCall * call
Definition: call.cc:750
grpc::ServerContextBase::MaybeMarkCancelledOnRead
void MaybeMarkCancelledOnRead()
Definition: grpcpp/impl/codegen/server_context.h:444
grpc::CallbackServerContext::operator=
CallbackServerContext & operator=(const CallbackServerContext &)=delete
grpc::ServerContextBase::compression_level_set
bool compression_level_set() const
Definition: grpcpp/impl/codegen/server_context.h:251
uint32_t
unsigned int uint32_t
Definition: stdint-msvc2008.h:80
grpc::ServerContextBase::compression_level_
grpc_compression_level compression_level_
Definition: grpcpp/impl/codegen/server_context.h:479
grpc::ContextAllocator
Definition: grpcpp/impl/codegen/server_context.h:650
grpc::experimental::ServerRpcInfo::RegisterInterceptors
void RegisterInterceptors(const std::vector< std::unique_ptr< experimental::ServerInterceptorFactoryInterface >> &creators)
Definition: impl/codegen/server_interceptor.h:108
grpc::g_core_codegen_interface
CoreCodegenInterface * g_core_codegen_interface
Definition: include/grpcpp/impl/codegen/completion_queue.h:98
grpc::ServerContextBase::TestServerCallbackUnary::TestServerCallbackUnary
TestServerCallbackUnary(ServerContextBase *ctx, std::function< void(grpc::Status)> func)
Definition: grpcpp/impl/codegen/server_context.h:514
grpc::ServerContextBase::async_notify_when_done_tag_
void * async_notify_when_done_tag_
Definition: grpcpp/impl/codegen/server_context.h:467
grpc_metadata
Definition: grpc_types.h:537
grpc::ServerContextBase::Reactor::OnDone
void OnDone() override
Definition: grpcpp/impl/codegen/server_context.h:495
grpc::ServerContextBase::compression_algorithm
grpc_compression_algorithm compression_algorithm() const
Definition: grpcpp/impl/codegen/server_context.h:257
grpc::ServerContextBase::context_allocator_
ContextAllocator * context_allocator_
Definition: grpcpp/impl/codegen/server_context.h:489
grpc::ServerContextBase::Reactor::InternalInlineable
bool InternalInlineable() override
Definition: grpcpp/impl/codegen/server_context.h:500
absl::move
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
Definition: abseil-cpp/absl/utility/utility.h:221
grpc::ServerContextBase::test_status_set
bool test_status_set() const
Definition: grpcpp/impl/codegen/server_context.h:507
grpc::ServerContextBase::CreateCallMetricRecorder
void CreateCallMetricRecorder()
Definition: server_context.cc:407
grpc::ServerContextBase
Base class of ServerContext.
Definition: grpcpp/impl/codegen/server_context.h:126
grpc::ServerContextBase::initial_metadata_flags
uint32_t initial_metadata_flags() const
Definition: grpcpp/impl/codegen/server_context.h:427
grpc::internal::CallbackBidiHandler
Definition: impl/codegen/server_callback.h:49
tag
static void * tag(intptr_t t)
Definition: bad_client.cc:318
grpc::ContextAllocator::Release
virtual void Release(GenericCallbackServerContext *)
Definition: grpcpp/impl/codegen/server_context.h:662
grpc::ServerContextBase::default_reactor_used_
std::atomic_bool default_reactor_used_
Definition: grpcpp/impl/codegen/server_context.h:543
grpc::ServerContextBase::TestServerCallbackUnary::status
grpc::Status status() const
Definition: grpcpp/impl/codegen/server_context.h:529
grpc::internal::CallbackWithSuccessTag
Definition: callback_common.h:137
grpc::internal::ServerReactor
Definition: impl/codegen/server_callback.h:51
grpc::ServerCallbackUnary::BindReactor
void BindReactor(Reactor *reactor)
Definition: impl/codegen/server_callback.h:203
grpc::experimental::OrcaServerInterceptor
Definition: orca_interceptor.h:30
grpc::internal::ServerReaderWriterBody
Definition: include/grpcpp/impl/codegen/completion_queue.h:63
grpc_call
struct grpc_call grpc_call
Definition: grpc_types.h:70
grpc::ServerContextBase::initial_metadata_
std::multimap< std::string, std::string > initial_metadata_
Definition: grpcpp/impl/codegen/server_context.h:475
grpc::ServerContextBase::CompletionOp
Definition: server_context.cc:70
grpc::ServerContextBase::has_pending_ops_
bool has_pending_ops_
Definition: grpcpp/impl/codegen/server_context.h:485
completion_queue_tag.h
grpc::ServerContextBase::GetCompletionOpTag
grpc::internal::CompletionQueueTag * GetCompletionOpTag()
Return the tag queued by BeginCompletionOp()
Definition: server_context.cc:326
grpc::ServerContextBase::ExperimentalGetCallMetricRecorder
experimental::CallMetricRecorder * ExperimentalGetCallMetricRecorder()
Definition: grpcpp/impl/codegen/server_context.h:296
grpc::ServerContextBase::TestServerCallbackUnary::Finish
void Finish(grpc::Status s) override
Definition: grpcpp/impl/codegen/server_context.h:519
grpc::ServerContextBase::client_metadata
const std::multimap< grpc::string_ref, grpc::string_ref > & client_metadata() const
Definition: grpcpp/impl/codegen/server_context.h:230
Call
Definition: api_fuzzer.cc:319
grpc::ServerInterface
Definition: grpcpp/impl/codegen/server_interface.h:61
grpc::ServerContextBase::deadline_
gpr_timespec deadline_
Definition: grpcpp/impl/codegen/server_context.h:470
grpc::ServerContextBase::GetRpcAllocatorState
RpcAllocatorState * GetRpcAllocatorState()
Definition: grpcpp/impl/codegen/server_context.h:318
grpc::internal::MetadataMap
Definition: grpcpp/impl/codegen/metadata_map.h:35
callback
static void callback(void *arg, int status, int timeouts, struct hostent *host)
Definition: acountry.c:224
grpc::ServerContextBase::completion_tag_
grpc::internal::CallbackWithSuccessTag completion_tag_
Definition: grpcpp/impl/codegen/server_context.h:468
grpc::ServerContextBase::raw_deadline
gpr_timespec raw_deadline() const
Return a gpr_timespec representation of the server call's deadline.
Definition: grpcpp/impl/codegen/server_context.h:136
grpc::experimental::CallMetricRecorder
Definition: call_metric_recorder.h:52
grpc::ServerContextBase::SetLoadReportingCosts
void SetLoadReportingCosts(const std::vector< std::string > &cost_data)
Set the serialized load reporting costs in cost_data for the call.
Definition: server_context.cc:399
grpc::ContextAllocator::NewGenericCallbackServerContext
virtual GenericCallbackServerContext * NewGenericCallbackServerContext()
Definition: grpcpp/impl/codegen/server_context.h:656
grpc::internal::Call
Straightforward wrapping of the C call object.
Definition: include/grpcpp/impl/codegen/call.h:37
grpc::ServerContext::operator=
ServerContext & operator=(const ServerContext &)=delete
grpc::ServerContextBase::auth_context_
std::shared_ptr< const grpc::AuthContext > auth_context_
Definition: grpcpp/impl/codegen/server_context.h:473
grpc::internal::CallbackClientStreamingHandler
Definition: impl/codegen/server_callback.h:45
grpc::internal::CallOpSet
Definition: call_op_set.h:859
grpc::ServerContextBase::rpc_info_
grpc::experimental::ServerRpcInfo * rpc_info_
Definition: grpcpp/impl/codegen/server_context.h:487
grpc::CallbackServerContext
Definition: grpcpp/impl/codegen/server_context.h:606
grpc::internal::RpcMethod::RpcType
RpcType
Definition: grpcpp/impl/codegen/rpc_method.h:33
grpc::testing::DefaultReactorTestPeer
Definition: default_reactor_test_peer.h:35
grpc::ServerContextBase::Reactor
Definition: grpcpp/impl/codegen/server_context.h:492
grpc::ServerContextBase::set_call
void set_call(grpc_call *call)
Definition: grpcpp/impl/codegen/server_context.h:423
grpc::Timespec2Timepoint
std::chrono::system_clock::time_point Timespec2Timepoint(gpr_timespec t)
Definition: time_cc.cc:68
grpc::internal::CallbackUnaryHandler
Definition: include/grpcpp/impl/codegen/byte_buffer.h:41
grpc::ClientContext
Definition: grpcpp/impl/codegen/client_context.h:195
grpc::testing::ServerContextTestSpouse
A test-only class to access private members and methods of ServerContext.
Definition: grpcpp/test/server_context_test_spouse.h:30
compression_types.h
grpc::ServerContextBase::TestServerCallbackUnary::reactor
grpc::internal::ServerReactor * reactor() override
Definition: grpcpp/impl/codegen/server_context.h:533
value
const char * value
Definition: hpack_parser_table.cc:165
grpc::ServerContextBase::sent_initial_metadata_
bool sent_initial_metadata_
Definition: grpcpp/impl/codegen/server_context.h:472
status.h
string_ref.h
grpc::ServerContextBase::c_call
grpc_call * c_call()
Definition: grpcpp/impl/codegen/server_context.h:289
callback_common.h
func
const EVP_CIPHER *(* func)(void)
Definition: cipher_extra.c:73
grpc::internal::CallOpSendInitialMetadata
Definition: call_op_set.h:219
key
const char * key
Definition: hpack_parser_table.cc:164
grpc::ContextAllocator::Release
virtual void Release(CallbackServerContext *)
Definition: grpcpp/impl/codegen/server_context.h:660
grpc::Server
Definition: include/grpcpp/server.h:59
grpc::ServerContext::ServerContext
ServerContext()
Definition: grpcpp/impl/codegen/server_context.h:568
port_platform.h
grpc::ServerContextBase::has_notify_when_done_tag_
bool has_notify_when_done_tag_
Definition: grpcpp/impl/codegen/server_context.h:466
grpc::ServerContextBase::message_allocator_state_
RpcAllocatorState * message_allocator_state_
Definition: grpcpp/impl/codegen/server_context.h:488
grpc::ServerContextBase::TryCancel
void TryCancel() const
Definition: server_context.cc:340
grpc::internal::CallbackServerStreamingHandler
Definition: include/grpcpp/impl/codegen/byte_buffer.h:43
grpc::ServerContextBase::test_unary_
std::unique_ptr< TestServerCallbackUnary > test_unary_
Definition: grpcpp/impl/codegen/server_context.h:547
grpc::experimental::ServerRpcInfo
Definition: impl/codegen/server_interceptor.h:58
grpc_compression_level
grpc_compression_level
Definition: compression_types.h:72
call_op_set.h
std
Definition: grpcpp/impl/codegen/async_unary_call.h:407
grpc::ServerContextBase::Reactor::OnCancel
void OnCancel() override
Definition: grpcpp/impl/codegen/server_context.h:494
grpc::CallbackServerContext::CallbackServerContext
CallbackServerContext()
Definition: grpcpp/impl/codegen/server_context.h:610
grpc::ServerContextBase::operator=
ServerContextBase & operator=(const ServerContextBase &)
grpc::protobuf::util::Status
GRPC_CUSTOM_UTIL_STATUS Status
Definition: include/grpcpp/impl/codegen/config_protobuf.h:93
grpc::ServerReader
Definition: include/grpcpp/impl/codegen/completion_queue.h:58
grpc::internal::MethodHandler::HandlerParameter
Definition: grpcpp/impl/codegen/rpc_service_method.h:43
grpc::Status
Definition: include/grpcpp/impl/codegen/status.h:35
grpc::ServerContextBase::AsyncNotifyWhenDone
void AsyncNotifyWhenDone(void *tag)
Definition: grpcpp/impl/codegen/server_context.h:310
grpc::CreateAuthContext
std::shared_ptr< const AuthContext > CreateAuthContext(grpc_call *call)
Definition: insecure_create_auth_context.cc:25
grpc::ServerUnaryReactor
Definition: impl/codegen/server_callback.h:699
grpc::ServerContextBase::SetupTestDefaultReactor
void SetupTestDefaultReactor(std::function< void(grpc::Status)> func)
Definition: grpcpp/impl/codegen/server_context.h:503
time.h
internal
Definition: benchmark/test/output_test_helper.cc:20
grpc::ServerContextBase::call_metric_recorder_
experimental::CallMetricRecorder * call_metric_recorder_
Definition: grpcpp/impl/codegen/server_context.h:490
grpc::ServerContextBase::ExperimentalGetAuthority
grpc::string_ref ExperimentalGetAuthority() const
Definition: server_context.cc:413
grpc::GenericCallbackServerContext
Definition: grpcpp/impl/codegen/async_generic_service.h:89
client.level
level
Definition: examples/python/async_streaming/client.py:118
grpc::CompletionQueue
Definition: include/grpcpp/impl/codegen/completion_queue.h:104
grpc::ServerContextBase::~ServerContextBase
virtual ~ServerContextBase()
Definition: server_context.cc:280
asyncio_get_stats.type
type
Definition: asyncio_get_stats.py:37
grpc::ServerAsyncResponseWriter
Definition: grpcpp/impl/codegen/async_unary_call.h:295
gpr_timespec
Definition: gpr_types.h:50
grpc::ServerContextBase::TestServerCallbackUnary::status_set
bool status_set() const
Definition: grpcpp/impl/codegen/server_context.h:526
grpc::internal::TemplatedBidiStreamingHandler
Definition: include/grpcpp/impl/codegen/completion_queue.h:77
grpc::internal::CompletionQueueTag
An interface allowing implementors to process and filter event tags.
Definition: grpcpp/impl/codegen/completion_queue_tag.h:28
function
std::function< bool(GrpcTool *, int, const char **, const CliCredentials &, GrpcToolOutputCallback)> function
Definition: grpc_tool.cc:250
grpc::internal::MetadataMap::map
std::multimap< grpc::string_ref, grpc::string_ref > * map()
Definition: grpcpp/impl/codegen/metadata_map.h:68
grpc::ServerAsyncWriter
Definition: grpcpp/impl/codegen/async_stream.h:845
method
NSString * method
Definition: ProtoMethod.h:28
grpc::ServerContextBase::set_server_rpc_info
grpc::experimental::ServerRpcInfo * set_server_rpc_info(const char *method, grpc::internal::RpcMethod::RpcType type, const std::vector< std::unique_ptr< grpc::experimental::ServerInterceptorFactoryInterface >> &creators)
Definition: grpcpp/impl/codegen/server_context.h:429
grpc::ServerContextBase::completion_op_
CompletionOp * completion_op_
Definition: grpcpp/impl/codegen/server_context.h:465
message_allocator.h
grpc::RpcAllocatorState
Definition: impl/codegen/message_allocator.h:28
grpc::testing::InteropServerContextInspector
Definition: server_helper.h:37
grpc::ServerContextBase::set_compression_level
void set_compression_level(grpc_compression_level level)
Definition: grpcpp/impl/codegen/server_context.h:243
grpc::internal::ServerStreamingHandler
A wrapper class of an application provided server streaming handler.
Definition: include/grpcpp/impl/codegen/byte_buffer.h:47
grpc::internal::ClientStreamingHandler
A wrapper class of an application provided client streaming handler.
Definition: include/grpcpp/impl/codegen/completion_queue.h:73
binary_size.old
string old
Definition: binary_size.py:128
grpc::CoreCodegenInterface::grpc_call_failed_before_recv_message
virtual int grpc_call_failed_before_recv_message(const grpc_call *c)=0
grpc::internal::UnaryRunHandlerHelper
void UnaryRunHandlerHelper(const grpc::internal::MethodHandler::HandlerParameter &, ResponseType *, grpc::Status &)
Definition: impl/codegen/method_handler.h:59
grpc::ServerContext::ServerContext
ServerContext(gpr_timespec deadline, grpc_metadata_array *arr)
Definition: grpcpp/impl/codegen/server_context.h:594
grpc::ServerContextBase::BindDeadlineAndMetadata
void BindDeadlineAndMetadata(gpr_timespec deadline, grpc_metadata_array *arr)
Definition: server_context.cc:274
grpc::ServerContextBase::default_reactor_
std::aligned_storage< sizeof(Reactor), alignof(Reactor)>::type default_reactor_
Definition: grpcpp/impl/codegen/server_context.h:542
grpc::ServerContextBase::TestServerCallbackUnary::status_
grpc::Status status_
Definition: grpcpp/impl/codegen/server_context.h:537
call.h
grpc::ServerContextBase::set_compression_algorithm
void set_compression_algorithm(grpc_compression_algorithm algorithm)
Definition: server_context.cc:371
grpc::ServerContextBase::test_status
grpc::Status test_status() const
Definition: grpcpp/impl/codegen/server_context.h:510


grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:17