Public Member Functions | Private Member Functions | Private Attributes | List of all members
grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 > Class Template Reference

#include <call_op_set.h>

Public Member Functions

 CallOpSet ()
 
 CallOpSet (const CallOpSet &other)
 
void ContinueFillOpsAfterInterception () override
 
void ContinueFinalizeResultAfterInterception () override
 
void * core_cq_tag () override
 
void FillOps (Call *call) override
 
bool FinalizeResult (void **tag, bool *status) override
 
CallOpSetoperator= (const CallOpSet &other)
 
void set_core_cq_tag (void *core_cq_tag)
 
void set_output_tag (void *return_tag)
 
void SetHijackingState () override
 

Private Member Functions

bool RunInterceptors ()
 
bool RunInterceptorsPostRecv ()
 

Private Attributes

Call call_
 
void * core_cq_tag_
 
bool done_intercepting_ = false
 
InterceptorBatchMethodsImpl interceptor_methods_
 
void * return_tag_
 
bool saved_status_
 

Detailed Description

template<class Op1, class Op2, class Op3, class Op4, class Op5, class Op6>
class grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >

Primary implementation of CallOpSetInterface. Since we cannot use variadic templates, we declare slots up to the maximum count of ops we'll need in a set. We leverage the empty base class optimization to slim this class (especially when there are many unused slots used). To avoid duplicate base classes, the template parameter for CallNoOp is varied by argument position.

Definition at line 859 of file call_op_set.h.

Constructor & Destructor Documentation

◆ CallOpSet() [1/2]

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::CallOpSet ( )
inline

Definition at line 876 of file call_op_set.h.

◆ CallOpSet() [2/2]

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::CallOpSet ( const CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 > &  other)
inline

Definition at line 880 of file call_op_set.h.

Member Function Documentation

◆ ContinueFillOpsAfterInterception()

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
void grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::ContinueFillOpsAfterInterception ( )
inlineoverride

Definition at line 965 of file call_op_set.h.

◆ ContinueFinalizeResultAfterInterception()

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
void grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::ContinueFinalizeResultAfterInterception ( )
inlineoverride

Definition at line 991 of file call_op_set.h.

◆ core_cq_tag()

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
void* grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::core_cq_tag ( )
inlineoverride

Definition at line 945 of file call_op_set.h.

◆ FillOps()

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
void grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::FillOps ( Call call)
inlineoverride

Definition at line 899 of file call_op_set.h.

◆ FinalizeResult()

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
bool grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::FinalizeResult ( void **  tag,
bool status 
)
inlineoverride

Definition at line 913 of file call_op_set.h.

◆ operator=()

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
CallOpSet& grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::operator= ( const CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 > &  other)
inline

Definition at line 887 of file call_op_set.h.

◆ RunInterceptors()

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
bool grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::RunInterceptors ( )
inlineprivate

Definition at line 1002 of file call_op_set.h.

◆ RunInterceptorsPostRecv()

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
bool grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::RunInterceptorsPostRecv ( )
inlineprivate

Definition at line 1021 of file call_op_set.h.

◆ set_core_cq_tag()

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
void grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::set_core_cq_tag ( void *  core_cq_tag)
inline

set_core_cq_tag is used to provide a different core CQ tag than "this". This is used for callback-based tags, where the core tag is the core callback function. It does not change the use or behavior of any other function (such as FinalizeResult)

Definition at line 951 of file call_op_set.h.

◆ set_output_tag()

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
void grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::set_output_tag ( void *  return_tag)
inline

Definition at line 943 of file call_op_set.h.

◆ SetHijackingState()

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
void grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::SetHijackingState ( )
inlineoverride

Definition at line 955 of file call_op_set.h.

Member Data Documentation

◆ call_

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
Call grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::call_
private

Definition at line 1036 of file call_op_set.h.

◆ core_cq_tag_

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
void* grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::core_cq_tag_
private

Definition at line 1034 of file call_op_set.h.

◆ done_intercepting_

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
bool grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::done_intercepting_ = false
private

Definition at line 1037 of file call_op_set.h.

◆ interceptor_methods_

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
InterceptorBatchMethodsImpl grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::interceptor_methods_
private

Definition at line 1038 of file call_op_set.h.

◆ return_tag_

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
void* grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::return_tag_
private

Definition at line 1035 of file call_op_set.h.

◆ saved_status_

template<class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 >
bool grpc::internal::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::saved_status_
private

Definition at line 1039 of file call_op_set.h.


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


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