Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
grpc_core::promise_detail::CallPushPull< FMain, FPush, FPull > Class Template Reference

#include <call_push_pull.h>

Public Types

using Result = typename PollTraits< decltype(std::declval< PromiseLike< FMain > >()())>::Type
 

Public Member Functions

 CallPushPull (CallPushPull &&other) noexcept
 
 CallPushPull (const CallPushPull &)=delete
 
 CallPushPull (FMain f_main, FPush f_push, FPull f_pull)
 
Poll< Resultoperator() ()
 
CallPushPulloperator= (CallPushPull &&other) noexcept
 
CallPushPulloperator= (const CallPushPull &)=delete
 
 ~CallPushPull ()
 

Private Types

enum  { kDonePull = 0, kDoneMain = 1, kDonePush = 2 }
 

Private Attributes

union {
   PromiseLike< FMain >   main_
 
   Result   result_
 
}; 
 
BitSet< 3 > done_
 
GPR_NO_UNIQUE_ADDRESS PromiseLike< FPull > pull_
 
GPR_NO_UNIQUE_ADDRESS PromiseLike< FPush > push_
 

Detailed Description

template<typename FMain, typename FPush, typename FPull>
class grpc_core::promise_detail::CallPushPull< FMain, FPush, FPull >

Definition at line 37 of file call_push_pull.h.

Member Typedef Documentation

◆ Result

template<typename FMain , typename FPush , typename FPull >
using grpc_core::promise_detail::CallPushPull< FMain, FPush, FPull >::Result = typename PollTraits<decltype(std::declval<PromiseLike<FMain> >()())>::Type

Definition at line 73 of file call_push_pull.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename FMain , typename FPush , typename FPull >
anonymous enum
private
Enumerator
kDonePull 
kDoneMain 
kDonePush 

Definition at line 113 of file call_push_pull.h.

Constructor & Destructor Documentation

◆ CallPushPull() [1/3]

template<typename FMain , typename FPush , typename FPull >
grpc_core::promise_detail::CallPushPull< FMain, FPush, FPull >::CallPushPull ( FMain  f_main,
FPush  f_push,
FPull  f_pull 
)
inline

Definition at line 39 of file call_push_pull.h.

◆ CallPushPull() [2/3]

template<typename FMain , typename FPush , typename FPull >
grpc_core::promise_detail::CallPushPull< FMain, FPush, FPull >::CallPushPull ( const CallPushPull< FMain, FPush, FPull > &  )
delete

◆ CallPushPull() [3/3]

template<typename FMain , typename FPush , typename FPull >
grpc_core::promise_detail::CallPushPull< FMain, FPush, FPull >::CallPushPull ( CallPushPull< FMain, FPush, FPull > &&  other)
inlinenoexcept

Definition at line 46 of file call_push_pull.h.

◆ ~CallPushPull()

template<typename FMain , typename FPush , typename FPull >
grpc_core::promise_detail::CallPushPull< FMain, FPush, FPull >::~CallPushPull ( )
inline

Definition at line 64 of file call_push_pull.h.

Member Function Documentation

◆ operator()()

template<typename FMain , typename FPush , typename FPull >
Poll<Result> grpc_core::promise_detail::CallPushPull< FMain, FPush, FPull >::operator() ( )
inline

Definition at line 75 of file call_push_pull.h.

◆ operator=() [1/2]

template<typename FMain , typename FPush , typename FPull >
CallPushPull& grpc_core::promise_detail::CallPushPull< FMain, FPush, FPull >::operator= ( CallPushPull< FMain, FPush, FPull > &&  other)
inlinenoexcept

Definition at line 54 of file call_push_pull.h.

◆ operator=() [2/2]

template<typename FMain , typename FPush , typename FPull >
CallPushPull& grpc_core::promise_detail::CallPushPull< FMain, FPush, FPull >::operator= ( const CallPushPull< FMain, FPush, FPull > &  )
delete

Member Data Documentation

◆ @21

union { ... }

◆ done_

template<typename FMain , typename FPush , typename FPull >
BitSet<3> grpc_core::promise_detail::CallPushPull< FMain, FPush, FPull >::done_
private

Definition at line 114 of file call_push_pull.h.

◆ main_

template<typename FMain , typename FPush , typename FPull >
PromiseLike<FMain> grpc_core::promise_detail::CallPushPull< FMain, FPush, FPull >::main_

Definition at line 117 of file call_push_pull.h.

◆ pull_

template<typename FMain , typename FPush , typename FPull >
GPR_NO_UNIQUE_ADDRESS PromiseLike<FPull> grpc_core::promise_detail::CallPushPull< FMain, FPush, FPull >::pull_
private

Definition at line 120 of file call_push_pull.h.

◆ push_

template<typename FMain , typename FPush , typename FPull >
GPR_NO_UNIQUE_ADDRESS PromiseLike<FPush> grpc_core::promise_detail::CallPushPull< FMain, FPush, FPull >::push_
private

Definition at line 115 of file call_push_pull.h.

◆ result_

template<typename FMain , typename FPush , typename FPull >
Result grpc_core::promise_detail::CallPushPull< FMain, FPush, FPull >::result_

Definition at line 118 of file call_push_pull.h.


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


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