LLVM  6.0.0svn
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
llvm::orc::RemoteObjectLayer< RPCEndpoint > Class Template Reference

Base class containing common utilities for RemoteObjectClientLayer and RemoteObjectServerLayer. More...

#include "llvm/ExecutionEngine/Orc/RemoteObjectLayer.h"

Inheritance diagram for llvm::orc::RemoteObjectLayer< RPCEndpoint >:
Inheritance graph
[legend]
Collaboration diagram for llvm::orc::RemoteObjectLayer< RPCEndpoint >:
Collaboration graph
[legend]

Classes

class  RemoteSymbolMaterializer
 This class is used as the symbol materializer for JITSymbols returned by RemoteObjectLayerClient/RemoteObjectLayerServer – the materializer knows how to call back to the other RPC endpoint to get the address when requested. More...
 

Public Member Functions

 RemoteObjectLayer (RPCEndpoint &Remote, std::function< void(Error)> ReportError)
 

Protected Member Functions

RemoteSymbol nullRemoteSymbol ()
 Convenience function for getting a null remote symbol value. More...
 
Error teeLog (Error Err)
 Creates a StringError that contains a copy of Err's log message, then sends that StringError to ReportError. More...
 
Error badRemoteSymbolIdError (RemoteSymbolId Id)
 
Error badObjectHandleError (ObjHandleT H)
 
Expected< RemoteSymboljitSymbolToRemote (JITSymbol Sym)
 Create a RemoteSymbol wrapping the given JITSymbol. More...
 
JITSymbol remoteToJITSymbol (Expected< RemoteSymbol > RemoteSymOrErr)
 Convert an Expected<RemoteSymbol> to a JITSymbol. More...
 

Protected Attributes

RPCEndpoint & Remote
 
std::function< void(Error)> ReportError
 

Additional Inherited Members

- Public Types inherited from llvm::orc::RemoteObjectLayerAPI
using ObjHandleT = remote::ResourceIdMgr::ResourceId
 
using BadSymbolHandleError = remote::ResourceNotFound< RemoteSymbolId >
 
using BadObjectHandleError = remote::ResourceNotFound< ObjHandleT >
 
- Protected Types inherited from llvm::orc::RemoteObjectLayerAPI
using RemoteSymbolId = remote::ResourceIdMgr::ResourceId
 
using RemoteSymbol = std::pair< RemoteSymbolId, JITSymbolFlags >
 
- Static Protected Attributes inherited from llvm::orc::RemoteObjectLayerAPI
static const ObjHandleT InvalidObjectHandleId = 0
 
static const RemoteSymbolId NullSymbolId = 0
 

Detailed Description

template<typename RPCEndpoint>
class llvm::orc::RemoteObjectLayer< RPCEndpoint >

Base class containing common utilities for RemoteObjectClientLayer and RemoteObjectServerLayer.

Definition at line 111 of file RemoteObjectLayer.h.

Constructor & Destructor Documentation

◆ RemoteObjectLayer()

template<typename RPCEndpoint >
llvm::orc::RemoteObjectLayer< RPCEndpoint >::RemoteObjectLayer ( RPCEndpoint &  Remote,
std::function< void(Error)>  ReportError 
)
inline

Definition at line 114 of file RemoteObjectLayer.h.

Member Function Documentation

◆ badObjectHandleError()

template<typename RPCEndpoint >
Error llvm::orc::RemoteObjectLayer< RPCEndpoint >::badObjectHandleError ( ObjHandleT  H)
inlineprotected

Definition at line 194 of file RemoteObjectLayer.h.

References H.

◆ badRemoteSymbolIdError()

template<typename RPCEndpoint >
Error llvm::orc::RemoteObjectLayer< RPCEndpoint >::badRemoteSymbolIdError ( RemoteSymbolId  Id)
inlineprotected

Definition at line 190 of file RemoteObjectLayer.h.

◆ jitSymbolToRemote()

template<typename RPCEndpoint >
Expected<RemoteSymbol> llvm::orc::RemoteObjectLayer< RPCEndpoint >::jitSymbolToRemote ( JITSymbol  Sym)
inlineprotected

Create a RemoteSymbol wrapping the given JITSymbol.

Definition at line 200 of file RemoteObjectLayer.h.

References assert(), llvm::JITSymbol::getFlags(), and llvm::JITSymbol::takeError().

◆ nullRemoteSymbol()

template<typename RPCEndpoint >
RemoteSymbol llvm::orc::RemoteObjectLayer< RPCEndpoint >::nullRemoteSymbol ( )
inlineprotected

Convenience function for getting a null remote symbol value.

Definition at line 171 of file RemoteObjectLayer.h.

◆ remoteToJITSymbol()

template<typename RPCEndpoint >
JITSymbol llvm::orc::RemoteObjectLayer< RPCEndpoint >::remoteToJITSymbol ( Expected< RemoteSymbol RemoteSymOrErr)
inlineprotected

◆ teeLog()

template<typename RPCEndpoint >
Error llvm::orc::RemoteObjectLayer< RPCEndpoint >::teeLog ( Error  Err)
inlineprotected

Creates a StringError that contains a copy of Err's log message, then sends that StringError to ReportError.

This allows us to locally log error messages for errors that will actually be delivered to the remote.

Definition at line 180 of file RemoteObjectLayer.h.

References llvm::lltok::Error, llvm::handleErrors(), and ReportError().

Member Data Documentation

◆ Remote

template<typename RPCEndpoint >
RPCEndpoint& llvm::orc::RemoteObjectLayer< RPCEndpoint >::Remote
protected

Definition at line 229 of file RemoteObjectLayer.h.

◆ ReportError

template<typename RPCEndpoint >
std::function<void(Error)> llvm::orc::RemoteObjectLayer< RPCEndpoint >::ReportError
protected

Definition at line 230 of file RemoteObjectLayer.h.


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