salsa
0.3.0
|
salsa node class More...
#include <NodeZyre.hh>
Public Member Functions | |
NodeZyre (std::string name="") | |
Construct Zyre node with provided name (and packetizer) More... | |
virtual | ~NodeZyre () |
Destruct Zyre node. More... | |
virtual int | init () |
First function. More... | |
virtual int | exec () |
Main function. More... | |
virtual int | finish () |
Last function. More... | |
void | addSocket (std::shared_ptr< SocketZyre > socket) |
std::vector< std::shared_ptr < SocketZyre > > | sockets () const |
void | addSocket (zsock_t *pSocket) |
void | handleZmq (zmsg_t *pMsg) |
virtual void | print () const |
virtual void | json (Json::Value &root) |
virtual void | publish () |
std::string | name () const |
Returns node name. | |
void | name (std::string n) |
Sets node name. | |
std::string | uuid () const |
Returns node UUID. | |
void | uuid (std::string uuid) |
Sets node uuid. | |
std::weak_ptr< Node > | parent () const |
Returns parent node. | |
void | parent (std::weak_ptr< Node > node) |
Sets parent. | |
std::vector< std::shared_ptr < Node > > | nodes () const |
Returns nodes. | |
void | add (std::shared_ptr< Node > node) |
Adds node to the list of nodes. | |
void | add (std::shared_ptr< Publisher > pPublisher) |
Adds publisher to the node. | |
std::shared_ptr< Node > | find (std::string name) const |
Find node by name. More... | |
void | removeByUUID (std::string uuid) |
Remove node by uuid. More... | |
std::vector< std::shared_ptr < Publisher > > | publishers () const |
Returns publishers. | |
NodeInfo * | nodeInfo () const |
Returns Node Info. | |
virtual void | pipe (void *pipe) |
Setter for pipe. More... | |
virtual void * | wait () |
zpoller_t * | poller () const |
PollerZmq * | pollerZmq () const |
Static Public Member Functions | |
static void | SalsaActorFn (zsock_t *pPipe, void *pArgv) |
static void | SalsaActorForkFn (zsock_t *pPipe, void *pArgv) |
Actor function with fork capability. | |
static std::sig_atomic_t | interrupted () |
Returns if salsa is interrupted. | |
static void | interrupted (std::sig_atomic_t sig) |
Setter salsa interruption. | |
static void | signalHandler (int signalNumber) |
Setter salsa interruption. More... | |
static std::shared_ptr < spdlog::logger > | getConsoleOutput () |
Get console output. | |
static void | setConsoleLevel (spdlog::level::level_enum level) |
Sets console log level. | |
Protected Attributes | |
NodeInfo * | mpNodeInfo {new NodeInfo()} |
Node Info. | |
std::weak_ptr< Node > | mpParent |
Parent node. | |
std::vector< std::shared_ptr < Node > > | mChildNodes = {} |
List of nodes. | |
std::vector< std::shared_ptr < Publisher > > | mPublishers = {} |
List of publishers. | |
zsock_t * | mpPipe = nullptr |
Zmq pipe socket. | |
PollerZmq * | mpPoller = nullptr |
Internal poller. | |
bool | mTerminated = false |
Flag if actor should be terminated. | |
int | mTimeout = -1 |
Poller timeout. | |
Private Attributes | |
std::vector< std::shared_ptr < SocketZyre > > | mSockets {} |
List of zyre sockets. | |
std::vector< zsock_t * > | mZmqSockets {} |
List of zmq sockets. | |
NodeManagerZyre * | mpNodeManager = nullptr |
Job manager. | |
salsa node class
Definition at line 20 of file NodeZyre.hh.
Salsa::NodeZyre::NodeZyre | ( | std::string | name = "" | ) |
Construct Zyre node with provided name (and packetizer)
Constructor
Definition at line 9 of file NodeZyre.cc.
|
virtual |
Destruct Zyre node.
Destructor
Definition at line 16 of file NodeZyre.cc.
References Salsa::Node::mpNodeInfo, mpNodeManager, mSockets, and mZmqSockets.
void Salsa::NodeZyre::addSocket | ( | std::shared_ptr< SocketZyre > | socket | ) |
Adding zyre socket
Definition at line 198 of file NodeZyre.cc.
References Salsa::Node::add(), and mSockets.
void Salsa::NodeZyre::addSocket | ( | zsock_t * | pSocket | ) |
|
virtual |
Main function.
Exec
Exec
Reimplemented from Salsa::ActorZmq.
Definition at line 75 of file NodeZyre.cc.
References Salsa::Message::event(), Salsa::NodeManagerZyre::handleTaskPool(), handleZmq(), Salsa::Actor::interrupted(), mpNodeManager, Salsa::ActorZmq::mpPipe, mSockets, Salsa::ActorZmq::mTerminated, mZmqSockets, Salsa::NodeManagerZyre::onEnter(), Salsa::NodeManagerZyre::onExit(), Salsa::NodeManagerZyre::onWhisper(), Salsa::NodeManager::publish(), sockets(), Salsa::Message::uuid(), and Salsa::ActorZmq::wait().
|
inherited |
Find node by name.
Returns node by name
Definition at line 113 of file Node.cc.
References Salsa::Node::mChildNodes, and Salsa::Node::name().
|
virtual |
Last function.
Finish
Finish
Reimplemented from Salsa::ActorZmq.
Definition at line 185 of file NodeZyre.cc.
void Salsa::NodeZyre::handleZmq | ( | zmsg_t * | pMsg | ) |
Handle message from external zmq
Definition at line 231 of file NodeZyre.cc.
References Salsa::NodeManager::addTask(), mpNodeManager, Salsa::NodeManager::terminateJob(), and Salsa::NodeManager::terminateJobAll().
Referenced by exec().
|
virtual |
First function.
Init
Init
Reimplemented from Salsa::ActorZmq.
Definition at line 37 of file NodeZyre.cc.
References Salsa::PollerZmq::add(), Salsa::NodeManager::addConsumer(), Salsa::NodeManager::addFeeder(), Salsa::NodeManager::addWorker(), mpNodeManager, Salsa::ActorZmq::mpPoller, mSockets, and mZmqSockets.
|
virtualinherited |
Returns Node in json format
Definition at line 34 of file Node.cc.
Referenced by Salsa::Node::publish().
|
virtualinherited |
Setter for pipe.
Setting pipe socket
Implements Salsa::Actor.
Definition at line 315 of file ActorZmq.cc.
References Salsa::PollerZmq::add(), Salsa::ActorZmq::mpPipe, and Salsa::ActorZmq::mpPoller.
Referenced by Salsa::ActorZmq::SalsaActorFn().
|
inherited |
Returns zpoller
Definition at line 425 of file ActorZmq.cc.
References Salsa::ActorZmq::mpPoller, and Salsa::PollerZmq::poller().
|
inherited |
Returns PollerZmq
Definition at line 432 of file ActorZmq.cc.
References Salsa::ActorZmq::mpPoller.
Referenced by Salsa::NodeManagerZyre::addTaskSlot().
|
virtualinherited |
Prints node info
Definition at line 91 of file Node.cc.
References Salsa::Node::mChildNodes, Salsa::Node::mpNodeInfo, Salsa::Node::mpParent, and Salsa::Node::mPublishers.
|
virtualinherited |
Publish network status
Definition at line 150 of file Node.cc.
References Salsa::Node::json(), Salsa::Node::mPublishers, Salsa::Node::name(), Salsa::Node::parent(), and Salsa::Node::publishers().
|
inherited |
Remove node by uuid.
Removes node by uuid
Definition at line 130 of file Node.cc.
References Salsa::Node::mChildNodes.
|
staticinherited |
Actor function engine
Definition at line 22 of file ActorZmq.cc.
References Salsa::ActorZmq::exec(), Salsa::ActorZmq::finish(), Salsa::ActorZmq::init(), Salsa::Actor::interrupted(), and Salsa::ActorZmq::pipe().
|
staticinherited |
Setter salsa interruption.
Function for handling signals
Definition at line 19 of file Actor.cc.
References Salsa::Actor::interrupted(), and Salsa::Actor::msInterrupted.
std::vector< std::shared_ptr< SocketZyre > > Salsa::NodeZyre::sockets | ( | ) | const |
Returns list of sockets
Definition at line 213 of file NodeZyre.cc.
References mSockets.
Referenced by exec().
|
virtualinherited |
Waiting for event
Definition at line 378 of file ActorZmq.cc.
References Salsa::ActorZmq::mpPipe, Salsa::ActorZmq::mpPoller, Salsa::ActorZmq::mTerminated, Salsa::ActorZmq::mTimeout, Salsa::PollerZmq::poller(), and Salsa::PollerZmq::wait().
Referenced by Salsa::ActorZmq::exec(), and exec().