#include "llvm/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/FormatVariadic.h"
#if !defined(_MSC_VER) && !defined(__MINGW32__)
#include <unistd.h>
#else
#include <io.h>
#endif
namespace {
struct FDMsgHeader { … };
}
namespace llvm {
namespace orc {
namespace SimpleRemoteEPCDefaultBootstrapSymbolNames {
const char *ExecutorSessionObjectName = …;
const char *DispatchFnName = …;
}
SimpleRemoteEPCTransportClient::~SimpleRemoteEPCTransportClient() = default;
SimpleRemoteEPCTransport::~SimpleRemoteEPCTransport() = default;
Expected<std::unique_ptr<FDSimpleRemoteEPCTransport>>
FDSimpleRemoteEPCTransport::Create(SimpleRemoteEPCTransportClient &C, int InFD,
int OutFD) { … }
FDSimpleRemoteEPCTransport::~FDSimpleRemoteEPCTransport() { … }
Error FDSimpleRemoteEPCTransport::start() { … }
Error FDSimpleRemoteEPCTransport::sendMessage(SimpleRemoteEPCOpcode OpC,
uint64_t SeqNo,
ExecutorAddr TagAddr,
ArrayRef<char> ArgBytes) { … }
void FDSimpleRemoteEPCTransport::disconnect() { … }
static Error makeUnexpectedEOFError() { … }
Error FDSimpleRemoteEPCTransport::readBytes(char *Dst, size_t Size,
bool *IsEOF) { … }
int FDSimpleRemoteEPCTransport::writeBytes(const char *Src, size_t Size) { … }
void FDSimpleRemoteEPCTransport::listenLoop() { … }
}
}