ANNA Suite
2020b
Multipurpose development suite for Telco applications
|
#include <Handler.hpp>
Classes | |
struct | Support |
struct | Type |
Public Member Functions | |
Type::_v | getType () const |
int | getfd () const |
bool | supportCongestionControl () const |
bool | supportTimeout () const |
bool | operator== (const int fd) const |
virtual void | apply () noexcept(false)=0 |
virtual ClientSocket * | getClientSocket () |
virtual std::string | asString () const |
virtual xml::Node * | asXML (xml::Node *parent) const noexcept(false) |
void | asAttribute (xml::Node *node) const noexcept(false) |
![]() | |
const std::string & | getId () const |
bool | hasRequestedStop () const |
bool | isRunning () const |
void | requestStop () 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 | |
Protected Member Functions | |
Handler (Communicator *communicator, const Type::_v type, const int support=Support::CongestionControl) | |
Handler (const Type::_v type, const int support=Support::CongestionControl) | |
void | setfd (const int fd) |
void | setTimeout (const Millisecond &timeout) |
bool | canContinue () const |
virtual void | breakAddress (const in_addr_t &address) |
virtual void | recoverAddress (const in_addr_t &address) |
virtual bool | testClose () noexcept(false) |
virtual void | finalize () |
virtual void | clone () noexcept(false) |
![]() | |
Runnable () | |
Runnable (const std::string &id) | |
Runnable (const char *id) | |
void | setId (const std::string &id) |
void | setIsRunning (const bool isRunning) |
virtual void | initialize () noexcept(false) |
virtual void | run () noexcept(false) |
virtual void | terminate () |
![]() | |
Safe () | |
Protected Attributes | |
Communicator * | a_communicator |
Friends | |
class | Communicator |
Controlador de comunicaciones generico.
|
inlineprotected |
Constructor.
communicator | Comunicador asociado a este controlador. |
type | Tipo de Comunicador. |
support | Una combinacion de los valores de Handler::Support. |
|
inlineprotected |
Constructor.
type | Tipo de Comunicador. |
support | Una combinacion de los valores de Handler::Support. |
|
pure virtualnoexcept |
Metodo invocado por el comunicador cuando detectado actividad en el descriptor de fichero asociado a este controlador.
|
noexcept |
Amplia la informacion XML del nodo recibido como parametro.
node | Nodo XML en el que incorporar los atributos. |
|
virtual |
Devuelve una cadena con la informacion referente a esta instancia.
Reimplemented from anna::Runnable.
Reimplemented in anna::ldap::Session, and anna::timex::TickConsumer.
Devuelve un documento XML con la informacion referente a esta instancia.
Reimplemented in anna::ldap::Session.
|
inlineprotectedvirtual |
|
inlineprotected |
En los manejadores que pueden recibir mas de una peticion en cada llamada a apply este metodo debe ser invocado para saber si debe dejar de procesar mensajes.
|
inlineprotectedvirtualnoexcept |
|
inlineprotectedvirtual |
|
inlinevirtual |
Devuelve el ClientSocket asociado a este manejador de conexiones.
Reimplemented in anna::comm::handler::DatagramSocket, anna::comm::handler::ClientSocket, anna::comm::handler::LocalConnection, and anna::comm::handler::RemoteConnection.
|
inline |
|
inline |
|
inline |
Operador de comparacion.
fd | Descriptor de fichero con el que comparar. |
|
inlineprotectedvirtual |
|
inlineprotected |
Establecer el descriptor de fichero asociado a este controlador.
fd | Descriptor de fichero asociado a este controlador. |
|
inlineprotected |
Establece el numero de milisegundos maximo que puede estar este manejador sin recibir mensajes antes de ser cerrado por el nucleo.
timeout | Numero de milisegundos maximo sin recibir mensajes. |
|
inline |
Devuelve true si el descriptor de fichero asociado a este controlador soporta control de congestion o false en otro caso.
|
inline |
|
inlineprotectedvirtualnoexcept |
|
friend |
|
protected |
Instancia del comunicador puede ser NULL.