Add pmix::lookup binding and cleanup

This commit is contained in:
Dennis Klein
2019-02-09 05:58:11 +01:00
committed by Dennis Klein
parent dfc6b5c4a3
commit 62781389d4
3 changed files with 107 additions and 84 deletions

View File

@@ -21,7 +21,6 @@
#include <string>
#include <sys/types.h>
#include <unistd.h>
#include <unordered_map>
#include <vector>
namespace fair
@@ -31,17 +30,6 @@ namespace mq
namespace plugins
{
struct ConnectingChannel
{
ConnectingChannel()
: fSubChannelAddresses()
, fValues()
{}
std::vector<std::string> fSubChannelAddresses;
std::unordered_map<uint64_t, std::string> fValues;
};
class PMIxPlugin : public Plugin
{
public:
@@ -51,21 +39,16 @@ class PMIxPlugin : public Plugin
const std::string& homepage,
PluginServices* pluginServices);
~PMIxPlugin();
auto PMIxClient() const -> std::string
{
std::stringstream ss;
ss << "PMIx client(pid=" << fPid << ")";
return ss.str();
}
auto PMIxClient() const -> std::string;
private:
pmix::proc fProc;
pid_t fPid;
std::unordered_map<std::string, std::vector<std::string>> fBindingChannels;
std::unordered_map<std::string, ConnectingChannel> fConnectingChannels;
auto FillChannelContainers() -> void;
auto PublishBoundChannels() -> void;
auto Init() -> void;
auto Publish() -> void;
auto Fence() -> void;
auto Lookup() -> void;
};
Plugin::ProgOptions PMIxProgramOptions()