ANNA Suite
2020b
Multipurpose development suite for Telco applications
|
#include <Resource.hpp>
Public Member Functions | |
Resource (const std::string &name) | |
const std::string & | getName () const |
bool | isEnabled () const |
void | setTimeStamp (const Millisecond &timeStamp) |
const Millisecond & | getTimeStamp () const |
bool | operator== (const std::string &name) const |
bool | operator== (const Resource &other) const |
void | enable () noexcept(false) |
void | disable () noexcept(false) |
virtual std::string | asString () const |
virtual bool | isAvailable () const noexcept(false)=0 |
Public Member Functions inherited from anna::Mutex | |
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 | |
Additional Inherited Members | |
Protected Member Functions inherited from anna::Safe | |
Safe () | |
Clase que modela un recurso de acceso compartido.
|
inline |
Constructor.
name | Nombre logico de este recurso remoto. |
mode | Modo de actuacion de esta instancia en modo ST cuando montamos una seccion critca sobre este objeto. En modo MT siempre sera Mode::Normal, es decir abre una seccion critica sobre este objeto, que bloqueara a cualquier otro thread que intente acceder a el. |
|
virtual |
Devuelve una cadena con la informacin referente a este recurso remoto.
Reimplemented in anna::comm::Server, anna::dbms::Connection, anna::dbms::oracle::Connection, and anna::dbms::mysql::Connection.
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
pure virtualnoexcept |
Devuelve el estado de disponibilidad de este recurso.
El recurso no esta preparado para ser usado debido a causas internas.
Para que un recurso pueda ser usado tanto este metodo como isEnabled deberan retornar true.
Implemented in anna::comm::Server.
|
inline |
Devuelve el estado referente a la habilitacion de este recurso.
La habilitacion o inhabilitacion responde a causas externas a este recurso, es decir, puede ser que el recurso estaria preparado pero por algun motivo deseamos marcarlo como "no usable".
Para que un recurso pueda ser usado tanto este metodo como isAvailable deberan retornar true.
|
inline |
|
inline |
|
inline |
Obtiene el valor de la marca de tiempo asociada a este recurso. Se usa desde las clases de reparto de carga, para marca el momento en que ha sido desactivado el recurso, lo permite volver a comprobar el recurso cada cierto periodo de tiempo.
timeStamp | Marca de tiempo asociada al recurso. |