salsa  0.3.0
 All Classes Functions Variables Enumerations Pages
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...
 
virtual void * wait ()
 
zpoller_t * poller () const
 
PollerZmqpollerZmq () 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

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

Salsa::ActorZmq::ActorZmq ( )

Constructor

Definition at line 4 of file ActorZmq.cc.

References mpPoller.

Salsa::ActorZmq::~ActorZmq ( )
virtual

Destructor

Definition at line 12 of file ActorZmq.cc.

References mpPoller.

Member Function Documentation

int Salsa::ActorZmq::exec ( )
virtual

Main function.

Exec

Implements Salsa::Actor.

Reimplemented in Salsa::NodeZyre.

Definition at line 345 of file ActorZmq.cc.

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

Referenced by SalsaActorFn().

int Salsa::ActorZmq::finish ( )
virtual

Last function.

Finish

Implements Salsa::Actor.

Reimplemented in Salsa::NodeZyre.

Definition at line 367 of file ActorZmq.cc.

Referenced by SalsaActorFn().

int Salsa::ActorZmq::init ( )
virtual

First function.

Init

Implements Salsa::Actor.

Reimplemented in Salsa::NodeZyre.

Definition at line 334 of file ActorZmq.cc.

Referenced by SalsaActorFn().

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

Setter for pipe.

Setting pipe socket

Implements Salsa::Actor.

Definition at line 315 of file ActorZmq.cc.

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

Referenced by SalsaActorFn().

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

Returns zpoller

Definition at line 425 of file ActorZmq.cc.

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

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

Returns PollerZmq

Definition at line 432 of file ActorZmq.cc.

References mpPoller.

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

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(), and pipe().

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.

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

Waiting for event

Definition at line 378 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: