LLVM  8.0.1
Namespaces | Classes | Functions
llvm::orc::rpc Namespace Reference

Namespaces

 detail
 

Classes

class  APICalls
 Convenience class for grouping RPC Functions into APIs that can be negotiated as a block. More...
 
class  APICalls< APICalls< InnerFuncs... >, Funcs... >
 
class  APICalls< Func, Funcs... >
 
class  BadFunctionCall
 BadFunctionCall is returned from handleOne when the remote makes a call with an unrecognized function id. More...
 
class  ConnectionClosed
 RPCConnectionClosed is returned from RPC operations if the RPC connection has already been closed due to either an error or graceful disconnection. More...
 
class  CouldNotNegotiate
 This error is returned if the remote does not have a handler installed for the given RPC function. More...
 
class  Function
 
class  Function< DerivedFunc, RetT(ArgTs...)>
 
class  InvalidSequenceNumberForResponse
 InvalidSequenceNumberForResponse is returned from handleOne when a response call arrives with a sequence number that doesn't correspond to any in-flight function call. More...
 
class  MultiThreadedRPCEndpoint
 
class  ParallelCallGroup
 Allows a set of asynchrounous calls to be dispatched, and then waited on as a group. More...
 
class  RawByteChannel
 Interface for byte-streams to be used with RPC. More...
 
class  ResponseAbandoned
 This non-fatal error will be passed to asynchronous result handlers in place of a result if the connection goes down before a result returns, or if the function to be called cannot be negotiated with the remote. More...
 
class  RPCAsyncDispatch
 Asynchronous dispatch for a function on an RPC endpoint. More...
 
class  RPCFatalError
 Base class of all fatal RPC errors (those that necessarily result in the termination of the RPC session). More...
 
class  RPCFunctionIdAllocator
 Allocates RPC function ids during autonegotiation. More...
 
class  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  RPCTypeName
 
class  RPCTypeName< bool >
 
class  RPCTypeName< Error >
 
class  RPCTypeName< Expected< T > >
 
class  RPCTypeName< int16_t >
 
class  RPCTypeName< int32_t >
 
class  RPCTypeName< int64_t >
 
class  RPCTypeName< int8_t >
 
class  RPCTypeName< JITSymbolFlags >
 
class  RPCTypeName< remote::DirectBufferWriter >
 
class  RPCTypeName< std::map< K, V > >
 
class  RPCTypeName< std::pair< T1, T2 > >
 
class  RPCTypeName< std::set< T > >
 
class  RPCTypeName< std::string >
 
class  RPCTypeName< std::tuple< ArgTs... > >
 
class  RPCTypeName< std::vector< T > >
 
class  RPCTypeName< uint16_t >
 
class  RPCTypeName< uint32_t >
 
class  RPCTypeName< uint64_t >
 
class  RPCTypeName< uint8_t >
 
class  RPCTypeName< void >
 
class  RPCTypeNameSequence
 TypeNameSequence is a utility for rendering sequences of types to a string by rendering each type, separated by ", ". More...
 
class  SequenceSerialization
 Utility class for serializing sequences of values of varying types. More...
 
class  SequenceSerialization< ChannelT >
 
class  SequenceSerialization< ChannelT, ArgT >
 
class  SequenceSerialization< ChannelT, ArgT, ArgTs... >
 
class  SequenceTraits
 
class  SerializationTraits
 The SerializationTraits<ChannelT, T> class describes how to serialize and deserialize an instance of type T to/from an abstract channel of type ChannelT. More...
 
class  SerializationTraits< ChannelT, bool, bool, typename std::enable_if< std::is_base_of< RawByteChannel, ChannelT >::value >::type >
 
class  SerializationTraits< ChannelT, Error >
 
class  SerializationTraits< ChannelT, Expected< T >, Error >
 SerializationTraits for Expected<T1> from an Error. More...
 
class  SerializationTraits< ChannelT, Expected< T1 >, Expected< T2 > >
 SerializationTraits for Expected<T1> from an Expected<T2>. More...
 
class  SerializationTraits< ChannelT, Expected< T1 >, T2 >
 SerializationTraits for Expected<T1> from a T2. More...
 
class  SerializationTraits< ChannelT, JITSymbolFlags >
 
class  SerializationTraits< ChannelT, remote::DirectBufferWriter, remote::DirectBufferWriter, typename std::enable_if< std::is_base_of< RawByteChannel, ChannelT >::value >::type >
 
class  SerializationTraits< ChannelT, std::map< K, V >, std::map< K2, V2 > >
 
class  SerializationTraits< ChannelT, std::pair< T1, T2 >, std::pair< T3, T4 > >
 SerializationTraits default specialization for std::pair. More...
 
class  SerializationTraits< ChannelT, std::set< T >, std::set< T2 > >
 
class  SerializationTraits< ChannelT, std::string, std::string, typename std::enable_if< std::is_base_of< RawByteChannel, ChannelT >::value >::type >
 
class  SerializationTraits< ChannelT, std::string, StringRef, typename std::enable_if< std::is_base_of< RawByteChannel, ChannelT >::value >::type >
 
class  SerializationTraits< ChannelT, std::string, T, typename std::enable_if< std::is_base_of< RawByteChannel, ChannelT >::value &&(std::is_same< T, const char * >::value||std::is_same< T, char * >::value)>::type >
 
class  SerializationTraits< ChannelT, std::tuple< ArgTs... > >
 SerializationTraits default specialization for std::tuple. More...
 
class  SerializationTraits< ChannelT, std::vector< T > >
 SerializationTraits default specialization for std::vector. More...
 
class  SerializationTraits< ChannelT, T, T, typename std::enable_if< std::is_base_of< RawByteChannel, ChannelT >::value &&(std::is_same< T, uint8_t >::value||std::is_same< T, int8_t >::value||std::is_same< T, uint16_t >::value||std::is_same< T, int16_t >::value||std::is_same< T, uint32_t >::value||std::is_same< T, int32_t >::value||std::is_same< T, uint64_t >::value||std::is_same< T, int64_t >::value||std::is_same< T, char >::value)>::type >
 
class  SingleThreadedRPCEndpoint
 

Functions

template<typename OStream >
OStream & operator<< (OStream &OS, const RPCTypeNameSequence<> &V)
 Render an empty TypeNameSequence to an ostream. More...
 
template<typename OStream , typename ArgT >
OStream & operator<< (OStream &OS, const RPCTypeNameSequence< ArgT > &V)
 Render a TypeNameSequence of a single type to an ostream. More...
 
template<typename OStream , typename ArgT1 , typename ArgT2 , typename... ArgTs>
OStream & operator<< (OStream &OS, const RPCTypeNameSequence< ArgT1, ArgT2, ArgTs... > &V)
 Render a TypeNameSequence of more than one type to an ostream. More...
 
template<typename ChannelT , typename... ArgTs>
Error serializeSeq (ChannelT &C, ArgTs &&... Args)
 
template<typename ChannelT , typename... ArgTs>
Error deserializeSeq (ChannelT &C, ArgTs &... Args)
 
template<typename ChannelT , typename ErrorInfoT , typename SerializeFtor , typename DeserializeFtor >
void registerErrorSerialization (std::string Name, SerializeFtor &&Serialize, DeserializeFtor &&Deserialize)
 Registers a serializer and deserializer for the given error type on the given channel type. More...
 
template<typename ChannelT >
void registerStringError ()
 Registers serialization/deserialization for StringError. More...
 
template<typename Func , typename RPCEndpointT >
RPCAsyncDispatch< RPCEndpointT, Func > rpcAsyncDispatch (RPCEndpointT &Endpoint)
 Construct an asynchronous dispatcher from an RPC endpoint and a Func. More...
 

Function Documentation

◆ deserializeSeq()

template<typename ChannelT , typename... ArgTs>
Error llvm::orc::rpc::deserializeSeq ( ChannelT &  C,
ArgTs &...  Args 
)

◆ operator<<() [1/3]

template<typename OStream >
OStream& llvm::orc::rpc::operator<< ( OStream &  OS,
const RPCTypeNameSequence<> &  V 
)

Render an empty TypeNameSequence to an ostream.

Definition at line 35 of file RPCSerialization.h.

◆ operator<<() [2/3]

template<typename OStream , typename ArgT >
OStream& llvm::orc::rpc::operator<< ( OStream &  OS,
const RPCTypeNameSequence< ArgT > &  V 
)

Render a TypeNameSequence of a single type to an ostream.

Definition at line 41 of file RPCSerialization.h.

References getName().

◆ operator<<() [3/3]

template<typename OStream , typename ArgT1 , typename ArgT2 , typename... ArgTs>
OStream& llvm::orc::rpc::operator<< ( OStream &  OS,
const RPCTypeNameSequence< ArgT1, ArgT2, ArgTs... > &  V 
)

Render a TypeNameSequence of more than one type to an ostream.

Definition at line 49 of file RPCSerialization.h.

References getName().

◆ registerErrorSerialization()

template<typename ChannelT , typename ErrorInfoT , typename SerializeFtor , typename DeserializeFtor >
void llvm::orc::rpc::registerErrorSerialization ( std::string  Name,
SerializeFtor &&  Serialize,
DeserializeFtor &&  Deserialize 
)

Registers a serializer and deserializer for the given error type on the given channel type.

Definition at line 484 of file RPCSerialization.h.

◆ registerStringError()

template<typename ChannelT >
void llvm::orc::rpc::registerStringError ( )

Registers serialization/deserialization for StringError.

Definition at line 494 of file RPCSerialization.h.

References C, and serializeSeq().

◆ rpcAsyncDispatch()

template<typename Func , typename RPCEndpointT >
RPCAsyncDispatch<RPCEndpointT, Func> llvm::orc::rpc::rpcAsyncDispatch ( RPCEndpointT &  Endpoint)

Construct an asynchronous dispatcher from an RPC endpoint and a Func.

Definition at line 1564 of file RPCUtils.h.

◆ serializeSeq()

template<typename ChannelT , typename... ArgTs>
Error llvm::orc::rpc::serializeSeq ( ChannelT &  C,
ArgTs &&...  Args 
)