LLVM 22.0.0git
llvm::orc::FDSimpleRemoteEPCTransport Class Reference

Uses read/write on FileDescriptors for transport. More...

#include "llvm/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.h"

Inheritance diagram for llvm::orc::FDSimpleRemoteEPCTransport:
[legend]

Public Member Functions

 ~FDSimpleRemoteEPCTransport () override
Error start () override
 Called during setup of the client to indicate that the client is ready to receive messages.
Error sendMessage (SimpleRemoteEPCOpcode OpC, uint64_t SeqNo, ExecutorAddr TagAddr, ArrayRef< char > ArgBytes) override
 Send a SimpleRemoteEPC message.
void disconnect () override
 Trigger disconnection from the transport.
Public Member Functions inherited from llvm::orc::SimpleRemoteEPCTransport
virtual ~SimpleRemoteEPCTransport ()

Static Public Member Functions

static Expected< std::unique_ptr< FDSimpleRemoteEPCTransport > > Create (SimpleRemoteEPCTransportClient &C, int InFD, int OutFD)
 Create a FDSimpleRemoteEPCTransport using the given FDs for reading (InFD) and writing (OutFD).
static Expected< std::unique_ptr< FDSimpleRemoteEPCTransport > > Create (SimpleRemoteEPCTransportClient &C, int FD)
 Create a FDSimpleRemoteEPCTransport using the given FD for both reading and writing.

Detailed Description

Uses read/write on FileDescriptors for transport.

Definition at line 104 of file SimpleRemoteEPCUtils.h.

Constructor & Destructor Documentation

◆ ~FDSimpleRemoteEPCTransport()

llvm::orc::FDSimpleRemoteEPCTransport::~FDSimpleRemoteEPCTransport ( )
override

Definition at line 72 of file SimpleRemoteEPCUtils.cpp.

Member Function Documentation

◆ Create() [1/2]

Expected< std::unique_ptr< FDSimpleRemoteEPCTransport > > llvm::orc::FDSimpleRemoteEPCTransport::Create ( SimpleRemoteEPCTransportClient & C,
int FD )
inlinestatic

Create a FDSimpleRemoteEPCTransport using the given FD for both reading and writing.

Definition at line 114 of file SimpleRemoteEPCUtils.h.

References Create().

◆ Create() [2/2]

Expected< std::unique_ptr< FDSimpleRemoteEPCTransport > > llvm::orc::FDSimpleRemoteEPCTransport::Create ( SimpleRemoteEPCTransportClient & C,
int InFD,
int OutFD )
static

Create a FDSimpleRemoteEPCTransport using the given FDs for reading (InFD) and writing (OutFD).

Definition at line 50 of file SimpleRemoteEPCUtils.cpp.

References llvm::inconvertibleErrorCode(), and llvm::make_error().

Referenced by Create().

◆ disconnect()

void llvm::orc::FDSimpleRemoteEPCTransport::disconnect ( )
overridevirtual

Trigger disconnection from the transport.

The implementation should respond by calling handleDisconnect on the client once disconnection is complete. May be called more than once and from different threads.

Implements llvm::orc::SimpleRemoteEPCTransport.

Definition at line 111 of file SimpleRemoteEPCUtils.cpp.

◆ sendMessage()

Error llvm::orc::FDSimpleRemoteEPCTransport::sendMessage ( SimpleRemoteEPCOpcode OpC,
uint64_t SeqNo,
ExecutorAddr TagAddr,
ArrayRef< char > ArgBytes )
overridevirtual

Send a SimpleRemoteEPC message.

This function may be called concurrently. Subclasses should implement locking if required for the underlying transport.

Implements llvm::orc::SimpleRemoteEPCTransport.

Definition at line 86 of file SimpleRemoteEPCUtils.cpp.

References llvm::ArrayRef< T >::data(), llvm::errorCodeToError(), llvm::orc::ExecutorAddr::getValue(), llvm::inconvertibleErrorCode(), llvm::make_error(), llvm::ArrayRef< T >::size(), and llvm::Error::success().

◆ start()

Error llvm::orc::FDSimpleRemoteEPCTransport::start ( )
overridevirtual

Called during setup of the client to indicate that the client is ready to receive messages.

Transport objects should not access the client until this method is called.

Implements llvm::orc::SimpleRemoteEPCTransport.

Definition at line 78 of file SimpleRemoteEPCUtils.cpp.

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


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