ANNA Suite
2020b
Multipurpose development suite for Telco applications
|
#include <IndexedDelivery.hpp>
Classes | |
struct | Mode |
Public Member Functions | |
IndexedDelivery (const char *name, const bool isCritical, const Mode::_v mode) | |
void | prepare (const int key) noexcept(false) |
std::string | asString () const |
xml::Node * | asXML (xml::Node *parent) const |
![]() | |
Service (const char *name, const bool isCritical) | |
bool | isCritical () const |
void | attach (Server *server) noexcept(false) |
comm::Server * | send (Message &message) noexcept(false) |
comm::Server * | send (Message *message) noexcept(false) |
int | broadcast (Message &message) |
int | broadcast (Message *message) |
std::string | asString () const |
xml::Node * | asXML (xml::Node *parent) const |
![]() | |
virtual | ~Delivery () |
const std::string & | getName () const |
void | initialize () noexcept(false) |
bool | wasAvailable () const |
const Millisecond & | getRecoveryTime () const |
void | setRecoveryTime (const Millisecond &recoveryTime) |
virtual bool | isAvailable () const |
Resource * | apply () noexcept(false) |
bool | fault (const Resource *resource) |
bool | recover (const Resource *resource) |
bool | contains (const Resource *resource) const |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
int | size () const |
const_iterator | end () const |
![]() | |
Mutex (const Mode::_v mode=Mode::Recursive) | |
virtual | ~Mutex () |
virtual void | lock () noexcept(false) |
virtual void | unlock () |
bool | trylock () noexcept(false) |
operator const pthread_mutex_t * () const | |
Static Public Member Functions | |
static const char * | className () |
![]() | |
static Server * | server (iterator &ii) |
static const Server * | server (const_iterator &ii) |
![]() | |
static Resource * | resource (iterator &ii) |
static const Resource * | resource (const_iterator &ii) |
Additional Inherited Members | |
![]() | |
typedef std::vector< Resource * > | Resources |
typedef Resources::iterator | iterator |
typedef Resources::const_iterator | const_iterator |
![]() | |
static const Millisecond | DefaultRecoveryTime |
![]() | |
Delivery (const char *name) | |
void | add (Resource *resource) noexcept(false) |
virtual bool | do_fault (const Resource *resource) |
virtual bool | do_recover (const Resource *resource) |
virtual bool | do_contains (const Resource *resource) const |
![]() | |
Safe () | |
Servicio de reparto de peticiones. Selecciona el destino de la proxima peticion en base una clave numerica de forma que el recurso usado sera el que ocupe la posicicion i-esima. Donde i = key % N, donde key es la clave recibida y N es el numero total de recursos definidos en este reparto.
|
inline |
Constructor.
name | Nombre logico del servicio de reparto de carga. |
isCritical | Indica las caracteristicas del reparto de carga. Debe valor true si el reparto de carga a crear es critico o false en otro caso. |
mode | Modo de actuar en caso de que el recurso seleccionado no este disponible. |
|
virtual |
Devuelve una cadena con la informacion referente a este objeto.
Reimplemented from anna::comm::Delivery.
Devuelve un nodo XML con la informacion referente a este objeto.
parent | Nodo XML a partir del cual introducir la informacion. |
Reimplemented from anna::comm::Delivery.
|
inlinestatic |
|
noexcept |
Establece la clave que se usara para decidir el comm::Server al que se va a enviar el mensaje.
key | Clave usada para calcular el servidor destino. |