ANNA Suite
2020b
Multipurpose development suite for Telco applications
|
#include <Service.hpp>
Public Member Functions | |
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 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 void | do_initialize () noexcept(false)=0 |
virtual Resource * | do_apply () noexcept(false)=0 |
virtual bool | do_fault (const Resource *resource) |
virtual bool | do_recover (const Resource *resource) |
virtual bool | do_contains (const Resource *resource) const |
![]() | |
Safe () | |
Clase que modela un servicio de reparto de carga. Cada servicio de reparto de carga esta asociado a un nmero indeterminado de procesos servidores (ver Server) entre los que puede seleccionar a la hora de enviar una peticin.
Para crear un nuevo servicio hay que invocar a Communicator::createService.
|
inline |
Constructor.
name | Nombre lógico 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 crítico o false en otro caso. |
|
virtual |
Devuelve una cadena con la información referente a esta maquina.
Reimplemented from anna::comm::Delivery.
Devuelve un nodo XML con la información referente a este objeto.
parent | Nodo XML a partir del cual introducir la información. |
Reimplemented from anna::comm::Delivery.
|
noexcept |
Conecta el servidor recibido como parámetro con este reparto.
server | Instancia del servidor que vamos a registrar en este reparto. |
int anna::comm::Service::broadcast | ( | Message & | message | ) |
Envía el mensaje recibido como parámetro a todos los servidores incluidos en el servicio de reparto de carga recibido como parámetro. El bloque de datos recibido se codifica segun las reglas establecidas por el protocolo asociado.
message | Mensaje que vamos a enviar al todos los procesos que componente el servicio. |
int anna::comm::Service::broadcast | ( | Message * | message | ) |
Envía el mensaje recibido como parámetro a todos los servidores incluidos en el servicio de reparto de carga recibido como parámetro. El bloque de datos recibido se codifica segun las reglas establecidas por el protocolo asociado.
message | Mensaje que vamos a enviar al todos los procesos que componente el servicio. |
|
inline |
|
noexcept |
Envía el mensaje recibido como parámetro. El bloque de datos recibido se codifica segun las reglas establecidas por el protocolo asociado en el contructor.
message | Mensaje que vamos codificar para enviar a la capa de transporte. |
|
noexcept |
Envía el mensaje recibido como parámetro. El bloque de datos recibido se codifica segun las reglas establecidas por el protocolo asociado en el contructor.
message | Mensaje que vamos codificar para enviar a la capa de transporte. |
Devuelve el recurso remoto apuntado por el iterador recibido como parámetro.
ii | Iterador usado para recorrer los recursos asociados a este reparto. |
|
static |
Devuelve el recurso remoto apuntado por el iterador recibido como parámetro.
ii | Iterador usado para recorrer los recursos asociados a este reparto. |