ANNA Suite  2020b
Multipurpose development suite for Telco applications
Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
anna::timex::TimeEvent Class Referenceabstract

#include <TimeEvent.hpp>

Inheritance diagram for anna::timex::TimeEvent:
Inheritance graph
[legend]

Public Types

typedef anna::ptrnumber Id
 

Public Member Functions

virtual ~TimeEvent ()
 
Id getId () const
 
const MillisecondgetTimeout () const
 
const TimeEventObservergetObserver () const
 
void setId (const Id id)
 
void setTimeout (const Millisecond &timeout)
 
void setObserver (TimeEventObserver *observer)
 
bool isActive () const
 
virtual std::string asString () const
 

Protected Member Functions

 TimeEvent ()
 
 TimeEvent (const Id id, const Millisecond &timeout)
 
virtual void expire (Engine *timeController) noexcept(false)=0
 
virtual void stop () noexcept(false)
 

Friends

class Engine
 

Detailed Description

Clase base de los eventos de los eventos de tiempo.

Member Typedef Documentation

◆ Id

Sinonimo usado para el identificador de eventos de tiempo.

Se define como un ptrnumber para facilitar la construccion de instancias sin tener que indicar un Id en particular, ya que se usara su direccion de memoria como identificador.

Constructor & Destructor Documentation

◆ ~TimeEvent()

virtual anna::timex::TimeEvent::~TimeEvent ( )
virtual

Destructor. Si un evento de tiempo esta activo y se invoca a su destructor se invocaria automaticamente a Engine::cancel para terminar con la ejecucin de este evento.

◆ TimeEvent() [1/2]

anna::timex::TimeEvent::TimeEvent ( )
inlineprotected

Contructor.

103  :
104  a_id(0),
105  a_timeout(0),
106  a_controller(NULL),
107  a_observer(NULL)
108  {;}

◆ TimeEvent() [2/2]

anna::timex::TimeEvent::TimeEvent ( const Id  id,
const Millisecond timeout 
)
inlineprotected

Contructor.

Parameters
idIdentificador de este evento.
timeoutLa duracion de este evento indicada en milisegundos.
116  :
117  a_id(id),
118  a_timeout(timeout),
119  a_controller(NULL),
120  a_observer(NULL) {}
Here is the call graph for this function:

Member Function Documentation

◆ asString()

virtual std::string anna::timex::TimeEvent::asString ( ) const
virtual

Devuelve una cadena con la informacion sobre este evento.

Returns
Una cadena con la informacion sobre este evento.

Reimplemented in anna::diameter::comm::Session, anna::diameter::comm::ClientSession, anna::diameter::comm::ServerSession, anna::timex::Transaction, anna::diameter::comm::Timer, anna::timex::Timer, anna::testing::TestTimer, anna::timex::Clock, and anna::ldap::Timer.

◆ expire()

virtual void anna::timex::TimeEvent::expire ( Engine timeController)
protectedpure virtualnoexcept

metodo que debemos re-escribir para particularizar el comportamiento de nuestra clase cuando el Engine notifica que se ha sobrepasado la duracion maxima del evento si que se invoque a ninguno de los metodos que lo cancelarian. Una vez invocado a este metodo el evento se considera cancelado y todos sus recursos son liberados automaticamente por Engine.

Parameters
timeControllerControlador de tiempo asociado al evento que esta expirando.

Implemented in anna::diameter::comm::Session.

◆ getId()

Id anna::timex::TimeEvent::getId ( ) const
inline

Devuelve el identificador de este evento.

Returns
El identificador de este evento.
47 { return a_id; }

◆ getObserver()

const TimeEventObserver* anna::timex::TimeEvent::getObserver ( ) const
inline

Devuelve la instancia del objeto encargado de gestionar el espacio asociado a esta instancia. Puede ser NULL.

Returns
La instancia del objeto encargado de gestionar el espacio asociado a esta instancia.
61 { return a_observer; }

◆ getTimeout()

const Millisecond& anna::timex::TimeEvent::getTimeout ( ) const
inline

Devuelve la duracion maxima a este evento indicada en milisegundos.

Returns
La duracion maxima de este evento indicada en milisegundos.
53 { return a_timeout; }

◆ isActive()

bool anna::timex::TimeEvent::isActive ( ) const
inline

Devuelve el estado de activacin de este evento de tiempo.

Returns
false si el evento esta activado o false en otro caso.
91 { return (a_controller != NULL); }
Here is the call graph for this function:

◆ setId()

void anna::timex::TimeEvent::setId ( const Id  id)
inline

Establece el identificador de este evento de tiempo.

Parameters
idEl identificador de evento para esta instancia.
Warning
Exclusivamente uso interno.
69 { a_id = id; }

◆ setObserver()

void anna::timex::TimeEvent::setObserver ( TimeEventObserver observer)
inline

Establece la instancia de objeto encargado de gestionar el espacio asociado a esta instancia. Si no es NULL sera invocado cuando el timex::Engine caduque o cancele este evento temporal.

Parameters
observerInstancia del objeto encargada de gestional el espacio asignado a esta instancia.
85 { a_observer = observer; }

◆ setTimeout()

void anna::timex::TimeEvent::setTimeout ( const Millisecond timeout)
inline

Establece la duracion de este evento indicada en milisegundos.

Parameters
timeoutEstablece la duracion de este evento.
75 { a_timeout = timeout; }

◆ stop()

virtual void anna::timex::TimeEvent::stop ( )
inlineprotectedvirtualnoexcept

metodo que debemos re-escribir para particularizar el comportamiento de nuestra clase cuando el Engine notifica que se ha parado el sistema de control de tiempos. Una vez invocado a este metodo el evento se considera cancelado y todos sus recursos son liberados automaticamente por Engine.

Las acciones realizadas nunca deber�n generar nuevos eventos. Por defecto no hace nada.

140 {;}

Friends And Related Function Documentation

◆ Engine

friend class Engine
friend

The documentation for this class was generated from the following file: