salsa  0.4.0
Salsa::ActorZmq Class Reference

ZeroMQ implementation of salsa actor class. More...

#include <ActorZmq.hh>

Inheritance diagram for Salsa::ActorZmq:
Salsa::Actor Salsa::Object Salsa::NodeZyre

Public Member Functions

 ActorZmq ()
 
virtual ~ActorZmq ()
 
virtual void pipe (void *pipe)
 Setter for pipe. More...
 
virtual int init ()
 First function. More...
 
virtual int exec ()
 Main function. More...
 
virtual int finish ()
 Last function. More...
 
void timeout (int t)
 Sets timeout.
 
int timeout () const
 Returns timeout.
 
virtual void * wait ()
 
zpoller_t * poller () const
 
PollerZmqpollerZmq () const
 
bool terminated () const
 Flag if actor should be terminated.
 

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

zsock_t * mpPipe = nullptr
 Zmq pipe socket.
 
PollerZmqmpPoller = nullptr
 Internal poller.
 
bool mTerminated = false
 Flag if actor should be terminated.
 
int mTimeout = -1
 Poller timeout.
 

Static Private Member Functions

static void actorProcwaitSupport_ (zsock_t *pipe, void *argv)
 Support actor method (used for PID waiting)
 

Detailed Description

ZeroMQ implementation of salsa actor class.

Author
Matej Fedor matej.nosp@m..fed.nosp@m.or.mf.nosp@m.@gma.nosp@m.il.co.nosp@m.m
Martin Vala mvala.nosp@m.@cer.nosp@m.n.ch
Branislav Beke bbeke.nosp@m.@bad.nosp@m.haven.nosp@m..dev

Definition at line 19 of file ActorZmq.hh.

Constructor & Destructor Documentation

◆ ActorZmq()

Salsa::ActorZmq::ActorZmq ( )

Constructor

Definition at line 4 of file ActorZmq.cc.

References mpPoller.

◆ ~ActorZmq()

Salsa::ActorZmq::~ActorZmq ( )
virtual

Destructor

Definition at line 12 of file ActorZmq.cc.

References mpPoller.

Member Function Documentation

◆ exec()

int Salsa::ActorZmq::exec ( )
virtual

Main function.

Exec

Implements Salsa::Actor.

Reimplemented in Salsa::NodeZyre.

Definition at line 393 of file ActorZmq.cc.

References Salsa::Actor::interrupted(), mTerminated, and wait().

Referenced by SalsaActorFn().

◆ finish()

int Salsa::ActorZmq::finish ( )
virtual

Last function.

Finish

Implements Salsa::Actor.

Reimplemented in Salsa::NodeZyre.

Definition at line 415 of file ActorZmq.cc.

Referenced by SalsaActorFn().

◆ init()

int Salsa::ActorZmq::init ( )
virtual

First function.

Init

Implements Salsa::Actor.

Reimplemented in Salsa::NodeZyre.

Definition at line 378 of file ActorZmq.cc.

References Salsa::Actor::signalHandler().

Referenced by Salsa::NodeZyre::init(), and SalsaActorFn().

◆ pipe()

void Salsa::ActorZmq::pipe ( void *  )
virtual

Setter for pipe.

Setting pipe socket

Implements Salsa::Actor.

Definition at line 359 of file ActorZmq.cc.

References Salsa::PollerZmq::add(), mpPipe, and mpPoller.

Referenced by SalsaActorFn().

◆ poller()

zpoller_t * Salsa::ActorZmq::poller ( ) const

Returns zpoller

Definition at line 473 of file ActorZmq.cc.

References mpPoller, and Salsa::PollerZmq::poller().

◆ pollerZmq()

PollerZmq * Salsa::ActorZmq::pollerZmq ( ) const

Returns PollerZmq

Definition at line 480 of file ActorZmq.cc.

References mpPoller.

Referenced by Salsa::NodeManagerZyre::addTaskSlot().

◆ SalsaActorFn()

void Salsa::ActorZmq::SalsaActorFn ( zsock_t *  pPipe,
void *  pArgv 
)
static

Actor function engine

Definition at line 22 of file ActorZmq.cc.

References exec(), finish(), init(), Salsa::Actor::interrupted(), pipe(), and terminated().

◆ signalHandler()

void Salsa::Actor::signalHandler ( int  signalNumber)
staticinherited

Setter salsa interruption.

Function for handling signals

Definition at line 19 of file Actor.cc.

References Salsa::Actor::interrupted(), and Salsa::Actor::msInterrupted.

Referenced by init().

◆ wait()

void * Salsa::ActorZmq::wait ( )
virtual

Waiting for event

Definition at line 426 of file ActorZmq.cc.

References mpPipe, mpPoller, mTerminated, mTimeout, Salsa::PollerZmq::poller(), and Salsa::PollerZmq::wait().

Referenced by exec(), and Salsa::NodeZyre::exec().


The documentation for this class was generated from the following files: