LLVM  4.0.0
Public Member Functions | List of all members
llvm::orc::rpc::ParallelCallGroup< RPCClass > Class Template Reference

Allows a set of asynchrounous calls to be dispatched, and then waited on as a group. More...

#include <RPCUtils.h>

Public Member Functions

 ParallelCallGroup (RPCClass &RPC)
 Construct a parallel call group for the given RPC. More...
 
 ParallelCallGroup (const ParallelCallGroup &)=delete
 
ParallelCallGroupoperator= (const ParallelCallGroup &)=delete
 
template<typename Func , typename HandlerT , typename... ArgTs>
Error appendCall (HandlerT Handler, const ArgTs &...Args)
 Make as asynchronous call. More...
 
template<typename Func , typename HandlerT , typename... ArgTs>
Error call (HandlerT Handler, const ArgTs &...Args)
 Make an asynchronous call. More...
 
Error wait ()
 Blocks until all calls have been completed and their return value handlers run. More...
 

Detailed Description

template<typename RPCClass>
class llvm::orc::rpc::ParallelCallGroup< RPCClass >

Allows a set of asynchrounous calls to be dispatched, and then waited on as a group.

Definition at line 1311 of file RPCUtils.h.

Constructor & Destructor Documentation

template<typename RPCClass >
llvm::orc::rpc::ParallelCallGroup< RPCClass >::ParallelCallGroup ( RPCClass &  RPC)
inline

Construct a parallel call group for the given RPC.

Definition at line 1315 of file RPCUtils.h.

template<typename RPCClass >
llvm::orc::rpc::ParallelCallGroup< RPCClass >::ParallelCallGroup ( const ParallelCallGroup< RPCClass > &  )
delete

Member Function Documentation

template<typename RPCClass >
template<typename Func , typename HandlerT , typename... ArgTs>
Error llvm::orc::rpc::ParallelCallGroup< RPCClass >::appendCall ( HandlerT  Handler,
const ArgTs &...  Args 
)
inline

Make as asynchronous call.

Does not issue a send call to the RPC's channel. The channel may use this to batch up subsequent calls. A send will automatically be sent when wait is called.

Definition at line 1326 of file RPCUtils.h.

References llvm::Lock.

Referenced by llvm::orc::rpc::ParallelCallGroup< RPCClass >::call().

template<typename RPCClass >
template<typename Func , typename HandlerT , typename... ArgTs>
Error llvm::orc::rpc::ParallelCallGroup< RPCClass >::call ( HandlerT  Handler,
const ArgTs &...  Args 
)
inline

Make an asynchronous call.

The same as appendCall, but also calls send on the channel immediately. Prefer appendCall if you are about to issue a "wait" call shortly, as this may allow the channel to better batch the calls.

Definition at line 1359 of file RPCUtils.h.

References llvm::orc::rpc::ParallelCallGroup< RPCClass >::appendCall().

template<typename RPCClass >
ParallelCallGroup& llvm::orc::rpc::ParallelCallGroup< RPCClass >::operator= ( const ParallelCallGroup< RPCClass > &  )
delete
template<typename RPCClass >
Error llvm::orc::rpc::ParallelCallGroup< RPCClass >::wait ( )
inline

Blocks until all calls have been completed and their return value handlers run.

Definition at line 1367 of file RPCUtils.h.

References llvm::Lock, and llvm::Error::success().


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