ANNA Suite  2020b
Multipurpose development suite for Telco applications
Public Member Functions | List of all members
anna::timex::Transaction Class Reference

#include <Transaction.hpp>

Inheritance diagram for anna::timex::Transaction:
Inheritance graph
[legend]
Collaboration diagram for anna::timex::Transaction:
Collaboration graph
[legend]

Public Member Functions

 Transaction ()
 
 Transaction (const Id id, const Millisecond &timeout)
 
 Transaction (const Id id, const Millisecond &timeout, void *context)
 
void * getContext ()
 
const void * getContext () const
 
void setContext (void *context)
 
virtual std::string asString () const
 
- Public Member Functions inherited from anna::timex::TimeEvent
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
 
- Public Member Functions inherited from anna::timex::Meter
 Meter ()
 
 Meter (const Meter &other)
 
Millisecond setControlPoint ()
 
void setTopReference (const Millisecond &topReference)
 
void clearTopReference ()
 
Millisecond getDelay () const
 
Meteroperator= (const Millisecond &timestamp)
 
Meteroperator= (const Meter &other)
 

Additional Inherited Members

- Public Types inherited from anna::timex::TimeEvent
typedef anna::ptrnumber Id
 
- Protected Member Functions inherited from anna::timex::TimeEvent
 TimeEvent ()
 
 TimeEvent (const Id id, const Millisecond &timeout)
 
virtual void expire (Engine *timeController) noexcept(false)=0
 
virtual void stop () noexcept(false)
 

Detailed Description

Clase base para las transacciones. Se activa una unica vez y cuando transcurren los milisegundos establecidos por TimeEvent::getTimeout se invoca al metodo expire. La implementacion de este metodo sera particular para cada uno de las transacciones.

Incorpora capacidades que facilitan evaluar la duración media de cada transacción, que son usadas directamente desde anna::timex::Context, aunque podrían ser usadas por cualquier otro código.

See also
Clock
Timer
Context

Constructor & Destructor Documentation

◆ Transaction() [1/3]

anna::timex::Transaction::Transaction ( )
inline

Constructor.

39 : a_context(NULL) {;}

◆ Transaction() [2/3]

anna::timex::Transaction::Transaction ( const Id  id,
const Millisecond timeout 
)
inline

Contructor.

Parameters
idIdentificador de este evento.
timeoutLa duracion de este evento indicada en milisegundos.
46  :
47  TimeEvent(id, timeout),
48  a_context(NULL)
49  {;}
TimeEvent()
Definition: TimeEvent.hpp:103

◆ Transaction() [3/3]

anna::timex::Transaction::Transaction ( const Id  id,
const Millisecond timeout,
void *  context 
)
inline

Contructor.

Parameters
idIdentificador de este evento.
timeoutLa duracion de este evento indicada en milisegundos.
contextContexto asociado a esta transaccion.
57  :
58  TimeEvent(id, timeout),
59  a_context(context)
60  {;}
TimeEvent()
Definition: TimeEvent.hpp:103

Member Function Documentation

◆ asString()

virtual std::string anna::timex::Transaction::asString ( void  ) const
inlinevirtual

Devuelve una cadena con la informacion referente a este temporizador.

Returns
Una cadena con la informacion referenta a este temporizador.

Reimplemented from anna::timex::TimeEvent.

Reimplemented in anna::diameter::comm::Timer, anna::testing::TestTimer, and anna::ldap::Timer.

85  {
86  std::string msg("Transaction { ");
87  msg += TimeEvent::asString();
88  msg += " | Contexto: ";
89  msg += (a_context == NULL) ? "(null)" : functions::asHexString(anna_ptrnumber_cast(a_context));
90  return msg += " }";
91  }
#define anna_ptrnumber_cast(pointer)
Definition: defines.hpp:118
virtual std::string asString() const
static std::string asHexString(const int number)
Here is the call graph for this function:

◆ getContext() [1/2]

void* anna::timex::Transaction::getContext ( )
inline

Devuelve el contexto asociado a esta transaccion.

Returns
El contexto asociado a esta transaccion.
66 { return a_context; }

◆ getContext() [2/2]

const void* anna::timex::Transaction::getContext ( ) const
inline

Devuelve el contexto asociado a esta transaccion.

Returns
El contexto asociado a esta transaccion.
72 { return a_context; }

◆ setContext()

void anna::timex::Transaction::setContext ( void *  context)
inline

Establece el contexto asociado a esta transaccion.

Parameters
contextContexto asociado a esta transaccion.
78 { a_context = context; }

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