Public Member Functions | Protected Attributes | Private Member Functions | List of all members
grpc::ServerInterface::BaseAsyncRequest Class Reference

#include <server_interface.h>

Inheritance diagram for grpc::ServerInterface::BaseAsyncRequest:
Inheritance graph
[legend]

Public Member Functions

 BaseAsyncRequest (ServerInterface *server, grpc::ServerContext *context, internal::ServerAsyncStreamingInterface *stream, grpc::CompletionQueue *call_cq, grpc::ServerCompletionQueue *notification_cq, void *tag, bool delete_on_finalize)
 
bool FinalizeResult (void **tag, bool *status) override
 
 ~BaseAsyncRequest () override
 
- Public Member Functions inherited from grpc::internal::CompletionQueueTag
virtual ~CompletionQueueTag ()
 

Protected Attributes

grpc_callcall_
 
grpc::CompletionQueue *const call_cq_
 
internal::Call call_wrapper_
 
grpc::ServerContext *const context_
 
const bool delete_on_finalize_
 
bool done_intercepting_
 
internal::InterceptorBatchMethodsImpl interceptor_methods_
 
grpc::ServerCompletionQueue *const notification_cq_
 
ServerInterface *const server_
 
internal::ServerAsyncStreamingInterface *const stream_
 
void *const tag_
 

Private Member Functions

void ContinueFinalizeResultAfterInterception ()
 

Detailed Description

Definition at line 167 of file grpcpp/impl/codegen/server_interface.h.

Constructor & Destructor Documentation

◆ BaseAsyncRequest()

grpc::ServerInterface::BaseAsyncRequest::BaseAsyncRequest ( ServerInterface server,
grpc::ServerContext context,
internal::ServerAsyncStreamingInterface stream,
grpc::CompletionQueue call_cq,
grpc::ServerCompletionQueue notification_cq,
void *  tag,
bool  delete_on_finalize 
)

Definition at line 145 of file server_cc.cc.

◆ ~BaseAsyncRequest()

grpc::ServerInterface::BaseAsyncRequest::~BaseAsyncRequest ( )
override

Definition at line 166 of file server_cc.cc.

Member Function Documentation

◆ ContinueFinalizeResultAfterInterception()

void grpc::ServerInterface::BaseAsyncRequest::ContinueFinalizeResultAfterInterception ( )
private

Definition at line 217 of file server_cc.cc.

◆ FinalizeResult()

bool grpc::ServerInterface::BaseAsyncRequest::FinalizeResult ( void **  tag,
bool status 
)
overridevirtual

FinalizeResult must be called before informing user code that the operation bound to the underlying core completion queue tag has completed. In practice, this means:

  1. For the sync API - before returning from Pluck
  2. For the CQ-based async API - before returning from Next
  3. For the callback-based API - before invoking the user callback

This is the method that translates from core-side tag/status to C++ API-observable tag/status.

The return value is the status of the operation (returning status is the general behavior of this function). If this function returns false, the tag is dropped and not returned from the completion queue: this concept is for events that are observed at core but not requested by the user application (e.g., server shutdown, for server unimplemented method responses, or for cases where a server-side RPC doesn't have a completion notification registered using AsyncNotifyWhenDone)

Implements grpc::internal::CompletionQueueTag.

Reimplemented in grpc::ServerInterface::GenericAsyncRequest, grpc::ServerInterface::PayloadAsyncRequest< Message >, and grpc::ServerInterface::RegisteredAsyncRequest.

Definition at line 170 of file server_cc.cc.

Member Data Documentation

◆ call_

grpc_call* grpc::ServerInterface::BaseAsyncRequest::call_
protected

Definition at line 189 of file grpcpp/impl/codegen/server_interface.h.

◆ call_cq_

grpc::CompletionQueue* const grpc::ServerInterface::BaseAsyncRequest::call_cq_
protected

Definition at line 185 of file grpcpp/impl/codegen/server_interface.h.

◆ call_wrapper_

internal::Call grpc::ServerInterface::BaseAsyncRequest::call_wrapper_
protected

Definition at line 190 of file grpcpp/impl/codegen/server_interface.h.

◆ context_

grpc::ServerContext* const grpc::ServerInterface::BaseAsyncRequest::context_
protected

Definition at line 183 of file grpcpp/impl/codegen/server_interface.h.

◆ delete_on_finalize_

const bool grpc::ServerInterface::BaseAsyncRequest::delete_on_finalize_
protected

Definition at line 188 of file grpcpp/impl/codegen/server_interface.h.

◆ done_intercepting_

bool grpc::ServerInterface::BaseAsyncRequest::done_intercepting_
protected

Definition at line 192 of file grpcpp/impl/codegen/server_interface.h.

◆ interceptor_methods_

internal::InterceptorBatchMethodsImpl grpc::ServerInterface::BaseAsyncRequest::interceptor_methods_
protected

Definition at line 191 of file grpcpp/impl/codegen/server_interface.h.

◆ notification_cq_

grpc::ServerCompletionQueue* const grpc::ServerInterface::BaseAsyncRequest::notification_cq_
protected

Definition at line 186 of file grpcpp/impl/codegen/server_interface.h.

◆ server_

ServerInterface* const grpc::ServerInterface::BaseAsyncRequest::server_
protected

Definition at line 182 of file grpcpp/impl/codegen/server_interface.h.

◆ stream_

internal::ServerAsyncStreamingInterface* const grpc::ServerInterface::BaseAsyncRequest::stream_
protected

Definition at line 184 of file grpcpp/impl/codegen/server_interface.h.

◆ tag_

void* const grpc::ServerInterface::BaseAsyncRequest::tag_
protected

Definition at line 187 of file grpcpp/impl/codegen/server_interface.h.


The documentation for this class was generated from the following files:


grpc
Author(s):
autogenerated on Fri May 16 2025 03:03:31