LLVM  4.0.0
Classes | Namespaces | Functions
RPCUtils.h File Reference
#include <map>
#include <thread>
#include <vector>
#include "llvm/ADT/STLExtras.h"
#include "llvm/ExecutionEngine/Orc/OrcError.h"
#include "llvm/ExecutionEngine/Orc/RPCSerialization.h"
#include <future>
Include dependency graph for RPCUtils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::orc::rpc::Function< DerivedFunc, FnT >
 
class  llvm::orc::rpc::Function< DerivedFunc, RetT(ArgTs...)>
 
class  llvm::orc::rpc::FunctionArgsTuple< T >
 Provides a typedef for a tuple containing the decayed argument types. More...
 
class  llvm::orc::rpc::FunctionArgsTuple< RetT(ArgTs...)>
 
class  llvm::orc::rpc::RPCFunctionIdAllocator< T, typename >
 Allocates RPC function ids during autonegotiation. More...
 
class  llvm::orc::rpc::RPCFunctionIdAllocator< T, typename std::enable_if< std::is_integral< T >::value >::type >
 This specialization of RPCFunctionIdAllocator provides a default implementation for integral types. More...
 
class  llvm::orc::rpc::detail::ResultTraits< RetT >
 
class  llvm::orc::rpc::detail::ResultTraits< void >
 
class  llvm::orc::rpc::detail::ResultTraits< Error >
 
class  llvm::orc::rpc::detail::ResultTraits< Expected< RetT > >
 
class  llvm::orc::rpc::detail::WrappedHandlerReturn< T >
 
class  llvm::orc::rpc::detail::WrappedHandlerReturn< Expected< T > >
 
class  llvm::orc::rpc::detail::WrappedHandlerReturn< void >
 
class  llvm::orc::rpc::detail::WrappedHandlerReturn< Error >
 
class  llvm::orc::rpc::detail::WrappedHandlerReturn< ErrorSuccess >
 
class  llvm::orc::rpc::detail::HandlerTraits< HandlerT >
 
class  llvm::orc::rpc::detail::HandlerTraits< RetT(ArgTs...)>
 
class  llvm::orc::rpc::detail::HandlerTraits< RetT(Class::*)(ArgTs...)>
 
class  llvm::orc::rpc::detail::HandlerTraits< RetT(Class::*)(ArgTs...) const >
 
class  llvm::orc::rpc::detail::ResponseHandlerArg< HandlerT >
 
class  llvm::orc::rpc::detail::ResponseHandlerArg< Error(Expected< ArgT >)>
 
class  llvm::orc::rpc::detail::ResponseHandlerArg< ErrorSuccess(Expected< ArgT >)>
 
class  llvm::orc::rpc::detail::ResponseHandlerArg< Error(Error)>
 
class  llvm::orc::rpc::detail::ResponseHandlerArg< ErrorSuccess(Error)>
 
class  llvm::orc::rpc::detail::ResponseHandler< ChannelT >
 
class  llvm::orc::rpc::detail::ResponseHandlerImpl< ChannelT, FuncRetT, HandlerT >
 
class  llvm::orc::rpc::detail::ResponseHandlerImpl< ChannelT, void, HandlerT >
 
class  llvm::orc::rpc::detail::MemberFnWrapper< ClassT, RetT, ArgTs >
 
class  llvm::orc::rpc::detail::ReadArgs< ArgTs >
 
class  llvm::orc::rpc::detail::ReadArgs< ArgT, ArgTs...>
 
class  llvm::orc::rpc::detail::SequenceNumberManager< SequenceNumberT >
 
class  llvm::orc::rpc::detail::RPCArgTypeCheckHelper< P, T1Tuple, T2Tuple >
 
class  llvm::orc::rpc::detail::RPCArgTypeCheckHelper< P, std::tuple<>, std::tuple<> >
 
class  llvm::orc::rpc::detail::RPCArgTypeCheckHelper< P, std::tuple< T, Ts...>, std::tuple< U, Us...> >
 
class  llvm::orc::rpc::detail::RPCArgTypeCheck< P, T1Sig, T2Sig >
 
class  llvm::orc::rpc::detail::CanSerialize< ChannelT, WireT, ConcreteT >
 
class  llvm::orc::rpc::detail::CanDeserialize< ChannelT, WireT, ConcreteT >
 
class  llvm::orc::rpc::detail::RPCEndpointBase< ImplT, ChannelT, FunctionIdT, SequenceNumberT >
 Contains primitive utilities for defining, calling and handling calls to remote procedures. More...
 
class  llvm::orc::rpc::detail::RPCEndpointBase< ImplT, ChannelT, FunctionIdT, SequenceNumberT >::OrcRPCInvalid
 
class  llvm::orc::rpc::detail::RPCEndpointBase< ImplT, ChannelT, FunctionIdT, SequenceNumberT >::OrcRPCResponse
 
class  llvm::orc::rpc::detail::RPCEndpointBase< ImplT, ChannelT, FunctionIdT, SequenceNumberT >::OrcRPCNegotiate
 
class  llvm::orc::rpc::detail::RPCEndpointBase< ImplT, ChannelT, FunctionIdT, SequenceNumberT >::CanSerializeCheck< WireT, ConcreteT >
 
class  llvm::orc::rpc::detail::RPCEndpointBase< ImplT, ChannelT, FunctionIdT, SequenceNumberT >::CanDeserializeCheck< WireT, ConcreteT >
 
class  llvm::orc::rpc::MultiThreadedRPCEndpoint< ChannelT, FunctionIdT, SequenceNumberT >
 
class  llvm::orc::rpc::SingleThreadedRPCEndpoint< ChannelT, FunctionIdT, SequenceNumberT >
 
class  llvm::orc::rpc::ParallelCallGroup< RPCClass >
 Allows a set of asynchrounous calls to be dispatched, and then waited on as a group. More...
 
class  llvm::orc::rpc::APICalls< Funcs >
 Convenience class for grouping RPC Functions into APIs that can be negotiated as a block. More...
 
class  llvm::orc::rpc::APICalls< Funcs >::Contains< F >
 Test whether this API contains Function F. More...
 
class  llvm::orc::rpc::APICalls< Func, Funcs...>
 
class  llvm::orc::rpc::APICalls< Func, Funcs...>::Contains< F >
 
class  llvm::orc::rpc::APICalls< APICalls< InnerFuncs...>, Funcs...>
 
class  llvm::orc::rpc::APICalls< APICalls< InnerFuncs...>, Funcs...>::Contains< F >
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::orc
 
 llvm::orc::rpc
 
 llvm::orc::rpc::detail
 

Functions

template<typename WireRetT , typename HandlerRetT , typename ChannelT , typename FunctionIdT , typename SequenceNumberT >
static Error llvm::orc::rpc::detail::respond (ChannelT &C, const FunctionIdT &ResponseId, SequenceNumberT SeqNo, Expected< HandlerRetT > ResultOrErr)
 
template<typename WireRetT , typename ChannelT , typename FunctionIdT , typename SequenceNumberT >
static Error llvm::orc::rpc::detail::respond (ChannelT &C, const FunctionIdT &ResponseId, SequenceNumberT SeqNo, Error Err)
 
template<typename ChannelT , typename FuncRetT , typename HandlerT >
std::unique_ptr
< ResponseHandler< ChannelT > > 
llvm::orc::rpc::detail::createResponseHandler (HandlerT H)