1 #ifndef Ndmspc_NDimensionalIpcRunner_H
2 #define Ndmspc_NDimensionalIpcRunner_H
15 static bool SendFrames(
void * socket,
const std::vector<std::string> & frames);
16 static bool ReceiveFrames(
void * socket, std::vector<std::string> & outFrames);
18 static std::string BuildWorkerIdentity(
size_t workerIndex);
19 static std::string SerializeCoords(
const std::vector<int> & coords);
20 static std::string SerializeIds(
const std::vector<Long64_t> & ids);
22 static int WorkerLoop(
const std::string & endpoint,
size_t workerIndex,
NThreadData * worker);
23 static int TaskLoop(
void * dealer,
size_t workerIndex,
NThreadData * worker);
24 static bool WaitForChildProcesses(
const std::vector<pid_t> & pids,
int timeoutMs = -1);
25 static void CleanupChildProcesses(
const std::vector<pid_t> & pids);
28 static std::vector<int> ParseCoords(
const std::string & coordsStr);
29 static std::vector<Long64_t> ParseIds(
const std::string & idsStr);
Thread-local data object for NDMSPC processing.