GRPC C++ 0.10.0.0

- Main Page
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions
grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 > Class Template Reference

Primary implementaiton of CallOpSetInterface. More...

`#include <call.h>`

## Public Member Functions
| CallOpSet ()
void | FillOps (grpc_op *ops, size_t *nops) GRPC_OVERRIDE
| Fills in grpc_op, starting from ops[*nops] and moving upwards. More...
bool | FinalizeResult (void **tag, bool *status) GRPC_OVERRIDE
void | set_output_tag (void *return_tag)
Public Member Functions inherited from grpc::CallOpSetInterface
| CallOpSetInterface ()
void | set_max_message_size (int max_message_size)
Public Member Functions inherited from grpc::CompletionQueueTag
virtual | ~CompletionQueueTag ()

## Additional Inherited Members
Protected Attributes inherited from grpc::CallOpSetInterface
int | max_message_size_

## Detailed Description

### template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
class grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >

Primary implementaiton 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 parmeter for CallNoOp is varied by argument position.

## Constructor & Destructor Documentation

template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>

grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::CallOpSet | ( |  | ) |
| inline

## Member Function Documentation

template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>

void grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::FillOps | ( | grpc_op * | ops,
|  | size_t * | nops
| ) |  |
| inline virtual

Fills in grpc_op, starting from ops[*nops] and moving upwards.

Implements grpc::CallOpSetInterface.

template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>

bool grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::FinalizeResult | ( | void ** | tag,
|  | bool * | status
| ) |  |
| inline virtual

Implements grpc::CompletionQueueTag.

Reimplemented in grpc::SneakyCallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >, and grpc::SneakyCallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose >.

template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>

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

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

- include/grpc++/impl/call.h