LLVM  4.0.0
Classes | Public Types | Public Member Functions | List of all members
llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT > Class Template Reference

#include <OrcRemoteTargetServer.h>

Inheritance diagram for llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >:
[legend]
Collaboration diagram for llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >:
[legend]

Public Types

typedef std::function
< JITTargetAddress(const
std::string &Name)> 
SymbolLookupFtor
 
typedef std::function< void(uint8_t
*Addr, uint32_t Size)> 
EHFrameRegistrationFtor
 

Public Member Functions

 OrcRemoteTargetServer (ChannelT &Channel, SymbolLookupFtor SymbolLookup, EHFrameRegistrationFtor EHFramesRegister, EHFrameRegistrationFtor EHFramesDeregister)
 
 OrcRemoteTargetServer (const OrcRemoteTargetServer &)=delete
 
OrcRemoteTargetServeroperator= (const OrcRemoteTargetServer &)=delete
 
 OrcRemoteTargetServer (OrcRemoteTargetServer &&Other)=default
 
OrcRemoteTargetServeroperator= (OrcRemoteTargetServer &&)=delete
 
Expected< JITTargetAddressrequestCompile (JITTargetAddress TrampolineAddr)
 
bool receivedTerminate () const
 
- Public Member Functions inherited from llvm::orc::remote::OrcRemoteTargetRPCAPI
 OrcRemoteTargetRPCAPI (rpc::RawByteChannel &C)
 
- Public Member Functions inherited from llvm::orc::rpc::SingleThreadedRPCEndpoint< rpc::RawByteChannel >
 SingleThreadedRPCEndpoint (rpc::RawByteChannel &C, bool LazyAutoNegotiation)
 
void addHandler (HandlerT Handler)
 
void addHandler (ClassT &Object, RetT(ClassT::*Method)(ArgTs...))
 
Error negotiateFunction (bool Retry=false)
 Negotiate a function id for Func with the other end of the channel. More...
 
detail::ResultTraits< AltRetT >
::ErrorReturnType 
callB (const ArgTs &...Args)
 
- Public Member Functions inherited from llvm::orc::rpc::detail::RPCEndpointBase< SingleThreadedRPCEndpoint< rpc::RawByteChannel, uint32_t, uint32_t >, rpc::RawByteChannel, uint32_t, uint32_t >
 RPCEndpointBase (rpc::RawByteChannel &C, bool LazyAutoNegotiation)
 Construct an RPC instance on a channel. More...
 
Error appendCallAsync (HandlerT Handler, const ArgTs &...Args)
 Append a call Func, does not call send on the channel. More...
 
Error sendAppendedCalls ()
 
Error callAsync (HandlerT Handler, const ArgTs &...Args)
 
Error handleOne ()
 Handle one incoming call. More...
 
void abandonPendingResponses ()
 Abandon all outstanding result handlers. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::orc::rpc::detail::RPCEndpointBase< SingleThreadedRPCEndpoint< rpc::RawByteChannel, uint32_t, uint32_t >, rpc::RawByteChannel, uint32_t, uint32_t >
**static detail::ReadArgs
< ArgTs...> 
readArgs (ArgTs &...Args)
 Helper for handling setter procedures - this method returns a functor that sets the variables referred to by Args... More...
 
- Protected Types inherited from llvm::orc::rpc::detail::RPCEndpointBase< SingleThreadedRPCEndpoint< rpc::RawByteChannel, uint32_t, uint32_t >, rpc::RawByteChannel, uint32_t, uint32_t >
using LaunchPolicy = std::function< Error(std::function< Error()>)>
 
using WrappedHandlerFn = std::function< Error(rpc::RawByteChannel &, uint32_t)>
 
- Protected Member Functions inherited from llvm::orc::rpc::detail::RPCEndpointBase< SingleThreadedRPCEndpoint< rpc::RawByteChannel, uint32_t, uint32_t >, rpc::RawByteChannel, uint32_t, uint32_t >
uint32_t getInvalidFunctionId () const
 
void addHandlerImpl (HandlerT Handler, LaunchPolicy Launch)
 Add the given handler to the handler map and make it available for autonegotiation and execution. More...
 
Error handleResponse (uint32_tSeqNo)
 
uint32_t handleNegotiate (const std::string &Name)
 
Expected< uint32_tgetRemoteFunctionId ()
 
WrappedHandlerFn wrapHandler (HandlerT Handler, LaunchPolicy Launch)
 
- Protected Attributes inherited from llvm::orc::rpc::detail::RPCEndpointBase< SingleThreadedRPCEndpoint< rpc::RawByteChannel, uint32_t, uint32_t >, rpc::RawByteChannel, uint32_t, uint32_t >
rpc::RawByteChannelC
 
bool LazyAutoNegotiation
 
RPCFunctionIdAllocator< uint32_tFnIdAllocator
 
uint32_t ResponseId
 
std::map< std::string, uint32_tLocalFunctionIds
 
std::map< const char *, uint32_tRemoteFunctionIds
 
std::map< uint32_t,
WrappedHandlerFn
Handlers
 
std::mutex ResponsesMutex
 
detail::SequenceNumberManager
< uint32_t
SequenceNumberMgr
 
std::map< uint32_t,
std::unique_ptr
< detail::ResponseHandler
< rpc::RawByteChannel > > > 
PendingResponses
 

Detailed Description

template<typename ChannelT, typename TargetT>
class llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >

Definition at line 49 of file OrcRemoteTargetServer.h.

Member Typedef Documentation

template<typename ChannelT , typename TargetT >
typedef std::function<void(uint8_t *Addr, uint32_t Size)> llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::EHFrameRegistrationFtor

Definition at line 55 of file OrcRemoteTargetServer.h.

template<typename ChannelT , typename TargetT >
typedef std::function<JITTargetAddress(const std::string &Name)> llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::SymbolLookupFtor

Definition at line 52 of file OrcRemoteTargetServer.h.

Constructor & Destructor Documentation

template<typename ChannelT , typename TargetT >
llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::OrcRemoteTargetServer ( ChannelT &  Channel,
SymbolLookupFtor  SymbolLookup,
EHFrameRegistrationFtor  EHFramesRegister,
EHFrameRegistrationFtor  EHFramesDeregister 
)
inline

Definition at line 57 of file OrcRemoteTargetServer.h.

template<typename ChannelT , typename TargetT >
llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::OrcRemoteTargetServer ( const OrcRemoteTargetServer< ChannelT, TargetT > &  )
delete
template<typename ChannelT , typename TargetT >
llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::OrcRemoteTargetServer ( OrcRemoteTargetServer< ChannelT, TargetT > &&  Other)
default

Member Function Documentation

template<typename ChannelT , typename TargetT >
OrcRemoteTargetServer& llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::operator= ( const OrcRemoteTargetServer< ChannelT, TargetT > &  )
delete
template<typename ChannelT , typename TargetT >
OrcRemoteTargetServer& llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::operator= ( OrcRemoteTargetServer< ChannelT, TargetT > &&  )
delete
template<typename ChannelT , typename TargetT >
bool llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::receivedTerminate ( ) const
inline

Definition at line 103 of file OrcRemoteTargetServer.h.

template<typename ChannelT , typename TargetT >
Expected<JITTargetAddress> llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::requestCompile ( JITTargetAddress  TrampolineAddr)
inline

Definition at line 99 of file OrcRemoteTargetServer.h.


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