ANNA Suite
2020b
Multipurpose development suite for Telco applications
|
#include <Host.hpp>
Public Types | |
typedef std::vector< const Device * > | device_container |
typedef device_container::const_iterator | const_device_iterator |
typedef MultiMap< Server, SortBy > | server_container |
typedef server_container::iterator | server_iterator |
typedef server_container::const_iterator | const_server_iterator |
Public Member Functions | |
virtual | ~Host () |
const std::string & | getName () const |
Server * | createServer (const char *name, const int remotePort, const bool autoRecovery, TransportFactory *transportFactory=NULL, const bool ignoreIncomingMessages=false, const bool doConnect=true) noexcept(false) |
Server * | createServer (const std::string &name, const int remotePort, const bool autoRecovery, TransportFactory *transportFactory=NULL, const bool ignoreIncomingMessages=false, const bool doConnect=true) noexcept(false) |
Server * | createServer (const ServerAllocator &serverAllocator) noexcept(false) |
server_iterator | server_begin () |
const_server_iterator | server_begin () const |
server_iterator | server_end () |
const_server_iterator | server_end () const |
const_device_iterator | device_begin () const |
const_device_iterator | device_end () const |
const Server * | find_server (const int remotePort) const |
Server * | find_server (const int remotePort) |
void | assign (const Device *device) noexcept(false) |
bool | contains (const Device *device) const |
std::string | asString () const |
xml::Node * | asXML (xml::Node *parent) const noexcept(false) |
![]() | |
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 (server_iterator ii) |
static const Server * | server (const_server_iterator ii) |
static const Device * | device (const_device_iterator ii) |
Protected Member Functions | |
Host (const char *name) | |
![]() | |
Safe () | |
Friends | |
class | Network |
Clase que modela una maquina en la que se ejecutan procesos servidores. Cada maquina contiene un nmero indeterminado de procesos servidores (ver Server) a los que enviar peticiones, bien directamente, o bien a traves del un sistema de reparto de carga.
Para crear una nueva maquina hay que invocar a Network::find(const char*) o Network::find(const std::string&).
typedef device_container::const_iterator anna::comm::Host::const_device_iterator |
Iterador para acceder a los dispositivo de red de la maquina
Iterador para acceder a los Servidores asociados a cada uno de los puertos en esta maquina.
typedef std::vector<const Device*> anna::comm::Host::device_container |
typedef MultiMap<Server, SortBy> anna::comm::Host::server_container |
Iterador para acceder a los Servidores asociados a cada uno de los puertos en esta maquina.
|
virtual |
Destructor.
|
inlineprotected |
Constructor.
name | Nombre logico de esta maquina. |
|
noexcept |
Incorpora un dispositivo de red.
device | Dispositivo de red a incorporar. |
std::string anna::comm::Host::asString | ( | ) | const |
Devuelve una cadena con la informacin referente a esta maquina.
Devuelve un nodo XML con la informacin referente a este objeto.
parent | Nodo XML a partir del cual introducir la informacin. |
|
inline |
Devuelve true si el dispositivo de red recibido fue asignado a esta maquina o false en otro caso.
device | Dispositivo de red a comprobar. |
|
inlinenoexcept |
Crea y registra un nuevo proceso servidor sobre esta maquina (maquina, remotePort) con el nombre indicado.
name | Nombre logico del proceso servidor. |
remotePort | Puerto remoto en el que atiende peticiones este proceso servidor. |
autoRecovery | Indica si en caso de caida se debe intenrar la recuperacion automatica de la conexion. |
transportFactory | Factoria de protocolos de transporte usada por los ClientSocket asociados a este proceso servidor. |
ignoreIncomingMessages | Indicador de ignorar mensajes entrantes. |
doConnect | Indicador de connectar al servidor en el momento de crearlo. |
|
noexcept |
Crea y registra un nuevo proceso servidor sobre esta maquina (maquina, remotePort) con el nombre indicado.
name | Nombre logico del proceso servidor. |
remotePort | Puerto remoto en el que atiende peticiones este proceso servidor. |
autoRecovery | Indica si en caso de caida se debe intentar la recuperacion automatica de la conexion. |
transportFactory | Factoria de protocolos de transporte usada por los ClientSocket asociados a este proceso servidor. |
ignoreIncomingMessages | Indicador de ignorar mensajes entrantes. |
doConnect | Indicador de connectar al servidor en el momento de crearlo. |
|
noexcept |
|
inlinestatic |
|
inline |
|
inline |
const Server* anna::comm::Host::find_server | ( | const int | remotePort | ) | const |
Devuelve la instancia del proceso servidor asociado al puerto recibido como parametro. Si hay más de una conexión sobre el mismo puerto sólo devolverá la primera.
remotePort | Puerto remoto en el que atiende peticiones este proceso servidor. |
Server* anna::comm::Host::find_server | ( | const int | remotePort | ) |
Devuelve la instancia del proceso servidor asociado al puerto recibido como parametro. Si hay más de una conexión sobre el mismo puerto sólo devolverá la primera.
remotePort | Puerto remoto en el que atiende peticiones este proceso servidor. |
|
inline |
|
inlinestatic |
Devuelve la instancia del servidor sobre el que esta posicionado el iterador recibido como parametro.
ii | Iterador que debera estar comprendido entre begin y end. |
|
inlinestatic |
Devuelve la instancia del servidor sobre el que esta posicionado el iterador recibido como parametro.
ii | Iterador que debera estar comprendido entre begin y end. |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |