#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 |
CallOpSet & | operator= (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_ |
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.
|
inline |
Definition at line 876 of file call_op_set.h.
|
inline |
Definition at line 880 of file call_op_set.h.
|
inlineoverride |
Definition at line 965 of file call_op_set.h.
|
inlineoverride |
Definition at line 991 of file call_op_set.h.
|
inlineoverride |
Definition at line 945 of file call_op_set.h.
|
inlineoverride |
Definition at line 899 of file call_op_set.h.
|
inlineoverride |
Definition at line 913 of file call_op_set.h.
|
inline |
Definition at line 887 of file call_op_set.h.
|
inlineprivate |
Definition at line 1002 of file call_op_set.h.
|
inlineprivate |
Definition at line 1021 of file call_op_set.h.
|
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.
|
inline |
Definition at line 943 of file call_op_set.h.
|
inlineoverride |
Definition at line 955 of file call_op_set.h.
|
private |
Definition at line 1036 of file call_op_set.h.
|
private |
Definition at line 1034 of file call_op_set.h.
|
private |
Definition at line 1037 of file call_op_set.h.
|
private |
Definition at line 1038 of file call_op_set.h.
|
private |
Definition at line 1035 of file call_op_set.h.
|
private |
Definition at line 1039 of file call_op_set.h.