salsa 0.7.1
Loading...
Searching...
No Matches
NodeZyre.hh
1#pragma once
2
3#include "ActorZmq.hh"
4#include "MessageZyre.hh"
5#include "Node.hh"
6
7#include "PollerZmq.hh"
8#include "SocketZyre.hh"
9
10namespace Salsa {
19class NodeManagerZyre;
20class NodeZyre : public Node, public ActorZmq {
21public:
23 NodeZyre(std::string name = "");
25 virtual ~NodeZyre();
26
27 virtual int init();
28 virtual int exec();
29 virtual int finish();
30
31 void addSocket(std::shared_ptr<SocketZyre> socket);
32 std::vector<std::shared_ptr<SocketZyre>> sockets() const;
33 void addSocket(zsock_t * pSocket);
34
36 zsock_t * socketExternal(int i) { return mZmqSockets.at(i); }
37
38 void handleExternalZmq(zmsg_t * pMsg, zsock_t * pSocket);
39
41 void type(std::string t) { mType = t; }
43 std::string type() { return mType; }
45 void clusterAlias(std::string n) { mClusterAlias = n; }
47 std::string clusterAlias() { return mClusterAlias; }
49 void jobInfoGroupName(std::string n) { mJobInfoGroupName = n; }
51 std::string jobInfoGroupName() { return mJobInfoGroupName; }
53 void jobInfoBrokerUrl(std::string url) { mJobInfoBrokerUrl = url; }
55 std::string jobInfoBrokerUrl() { return mJobInfoBrokerUrl; }
57 void submitClientUrl(std::string url) { mSubmitClientUrl = url; }
59 std::string submitClientUrl() { return mSubmitClientUrl; }
61 void jobInfoClientUrl(std::string url) { mJobInfoClientUrl = url; }
63 std::string jobInfoClientUrl() { return mJobInfoClientUrl; }
64
65private:
66 std::vector<std::shared_ptr<SocketZyre>> mSockets{};
67 std::vector<zsock_t *> mZmqSockets{};
69 std::string mType;
70 std::string mClusterAlias{"local"};
71 std::string mJobInfoGroupName;
72 std::string mJobInfoBrokerUrl;
73 std::string mJobInfoClientUrl;
74 std::string mSubmitClientUrl;
76};
77
78} // namespace Salsa
ZeroMQ implementation of salsa actor class.
Definition ActorZmq.hh:19
NodeManagerZyre class.
salsa node class
Definition NodeZyre.hh:20
std::string type()
Returns type of current node.
Definition NodeZyre.hh:43
std::string mJobInfoGroupName
JobInfo Group name.
Definition NodeZyre.hh:71
void jobInfoGroupName(std::string n)
Sets JobInfo Group name.
Definition NodeZyre.hh:49
void type(std::string t)
Sets type of current node.
Definition NodeZyre.hh:41
void jobInfoClientUrl(std::string url)
Sets JobInfo client url.
Definition NodeZyre.hh:61
int mJobCheckTimeout
Job check timeout.
Definition NodeZyre.hh:75
zsock_t * socketExternal(int i)
Rerturns external socket.
Definition NodeZyre.hh:36
void jobInfoBrokerUrl(std::string url)
Sets JobInfo broker url.
Definition NodeZyre.hh:53
std::string clusterAlias()
Returns Cluster alias.
Definition NodeZyre.hh:47
void addSocket(std::shared_ptr< SocketZyre > socket)
Definition NodeZyre.cc:255
std::string mJobInfoClientUrl
JobInfo url for client (salsa-broker –out ...)
Definition NodeZyre.hh:73
std::vector< std::shared_ptr< SocketZyre > > sockets() const
Definition NodeZyre.cc:270
void submitClientUrl(std::string url)
Sets Submit client url.
Definition NodeZyre.hh:57
virtual int init()
First function.
Definition NodeZyre.cc:42
virtual int exec()
Main function.
Definition NodeZyre.cc:111
std::string mType
Current node type.
Definition NodeZyre.hh:69
std::string mSubmitClientUrl
Submit url for client.
Definition NodeZyre.hh:74
std::string jobInfoClientUrl()
Returns JobInfo client url.
Definition NodeZyre.hh:63
NodeZyre(std::string name="")
Construct Zyre node with provided name (and packetizer)
Definition NodeZyre.cc:12
virtual int finish()
Last function.
Definition NodeZyre.cc:242
NodeManagerZyre * mpNodeManager
Job manager.
Definition NodeZyre.hh:68
std::string jobInfoBrokerUrl()
Returns JobInfo broker url.
Definition NodeZyre.hh:55
std::string mClusterAlias
Cluster alias.
Definition NodeZyre.hh:70
std::string submitClientUrl()
Returns Submit client url.
Definition NodeZyre.hh:59
std::string jobInfoGroupName()
Returns JobInfo Group name.
Definition NodeZyre.hh:51
std::vector< std::shared_ptr< SocketZyre > > mSockets
List of zyre sockets.
Definition NodeZyre.hh:66
void handleExternalZmq(zmsg_t *pMsg, zsock_t *pSocket)
Definition NodeZyre.cc:288
void clusterAlias(std::string n)
Sets Cluster alias.
Definition NodeZyre.hh:45
virtual ~NodeZyre()
Destruct Zyre node.
Definition NodeZyre.cc:21
std::string mJobInfoBrokerUrl
JobInfo broker url (salsa-broker –in ...)
Definition NodeZyre.hh:72
std::vector< zsock_t * > mZmqSockets
List of zmq sockets.
Definition NodeZyre.hh:67
Base Node class.
Definition Node.hh:23
std::string name() const
Returns node name.
Definition Node.hh:33