ANNA Suite
2020b
Multipurpose development suite for Telco applications
|
#include <Session.hpp>
Classes | |
struct | Option |
struct | State |
Public Member Functions | |
const std::string & | getURL () const |
const std::string & | getUser () const |
const std::string & | getPassword () const |
int | getCategory () const |
int | getExternalID () const |
void * | getLDAP () |
int | getDangerousFileDescriptor () const noexcept(false) |
Option::Defer::_v | getDefer () const |
Option::Referral::_v | getReferral () const |
State::_v | getState () const |
const Millisecond & | getTimeout (const ClassCode::_v v) const |
Millisecond | getNetworkTimeout () const |
bool | hasNetworkTimeout () const |
void | bind () noexcept(false) |
bool | isBound () const |
void | setOption (const Option::Defer::_v defer) |
void | setOption (const Option::Referral::_v referral) |
void | setNetworkTimeout (const Millisecond &timeout) |
void | clearNetworkTimeout () |
void | setTimeout (const ClassCode::_v v, const Millisecond &millisecond) |
const Response * | send (const Request *request) noexcept(false) |
const Response * | send (const Request &request) noexcept(false) |
void | unbind () noexcept(false) |
std::string | asString () const |
xml::Node * | asXML (xml::Node *parent) const |
![]() | |
Type::_v | getType () const |
int | getfd () const |
bool | supportCongestionControl () const |
bool | supportTimeout () const |
bool | operator== (const int fd) const |
virtual ClientSocket * | getClientSocket () |
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 | |
Static Public Attributes | |
static const Millisecond | DefaultTimeout |
Protected Member Functions | |
Session () | |
virtual void | eventServerShutdown () |
virtual void | eventResponse (const Response &response) noexcept(false)=0 |
virtual void | eventResponseError (const ResultCode &resultCode, const bool disconnect) |
virtual void | eventIntermediateResponseError (const Response &response) |
![]() | |
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 | 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 () | |
Friends | |
class | Timer |
class | Engine |
Additional Inherited Members | |
![]() | |
Communicator * | a_communicator |
Modela la conexion realizada contra una servidor LDAP.
|
protected |
Constructor.
|
virtual |
Devuelve una cadena con la informacion relevante sobre esta instancia.
Reimplemented from anna::comm::Handler.
Devuelve un documento XML con la informacion relevante sobre esta instancia.
parent | Nodo XML del que colgar la informacion referente a esta instancia. |
Reimplemented from anna::comm::Handler.
|
noexcept |
Solicita la conexion al servidor asociado a esta sesion.
|
inline |
Elimina el tiempo asignado en setNetworkTimeout.
|
inlineprotectedvirtual |
|
protectedpure virtualnoexcept |
Metodo-manejador de las respuestas provenientes del servidor LDAP.
response | Objeto que contiene la respuesta correspondiente a la peticion LDAP realizada. |
|
inlineprotectedvirtual |
Metodo-manejador de los errores provenientes del servidor LDAP.
resultCode | Instancia que contiene la información sobre el error recibido. |
disconnect | Incicador que informa al nivel de aplicación sobre cómo actuará la ANNA.ldap para recuperar este error, si vale true la conexión se cerrará o false en otro caso. |
|
inlineprotectedvirtual |
Metodo-manejador que informa de que el servidor LDAP con el que estaba conectado esta sesion ha dejado de dar servicio.
Una vez que se ha notificado la caida de la sesion, el nucleo de ANNA.ldap genera un ldap::Session::eventResponse para cada una de las peticiones que hay pendientes de contestar.
|
inline |
Devuelve la categoria de esta sesion. Coincidira con la indicada en ldap::Engine::createSession.
|
noexcept |
Devuelve el fd asociado a esta sesión de LDAP.
|
inline |
|
inline |
|
inline |
|
inline |
Devuelve el valor establecido en setNetworkTimeout
|
inline |
Devuelve el password de esta sesion. Coincidira con la indicada en ldap::Engine::createSession.
|
inline |
Devuelve true si la biblioteca LDAP realiza de forma automatica el siguimiento de las referencias retornadas por los servidores LDAP o false en otro caso.
|
inline |
|
inline |
|
inline |
Devuelve la direccion del servidor LDAP. Coincidira con la indicada en ldap::Engine::createSession.
|
inline |
Devuelve el usuario de esta sesion. Coincidira con la indicada en ldap::Engine::createSession.
|
inline |
|
inline |
Devuelve true si la sesion esta conectada al servidor LDAP o false en otro caso.
Envia la peticion recibida como parametro al servidor con el que estamos conectados mediante esta sesion LDAP.
Una vez enviada la peticion se activara automaticamente un temporizador. Si este llegara a caducar se cancelara la busqueda y se invocara al metodo Session::eventResponse indicado que se ha producido un error de temporización. La duracion del temporizador sera la establecida por ldap::TimerManager::setTimeout o el valor defecto.
request | Peticion a enviar al servidor LDAP con el que estamos conectados. |
Envia la peticion recibida como parametro al servidor con el que estamos conectados mediante esta sesion LDAP.
Una vez enviada la peticion se activara automaticamente un temporizador. Si este llegara a caducar se cancelara la busqueda y se invocara al metodo Session::eventResponse indicado que se ha producido un error de temporización. La duracion del temporizador sera la establecida por ldap::TimerManager::setTimeout o el valor defecto.
request | Peticion a enviar al servidor LDAP con el que estamos conectados. |
|
inline |
Establece el periodo de tiempo máximo que esperará la conexión a un servidor LDAP antes de considerar que éste no es alcanzable.
timeout | Milisegundos que esperará la conexión a un servidor LDAP antes de considerar que no es alcanzable. |
|
inline |
|
inline |
|
inline |
Establece el tiempo de espera maximo antes de considerar fallida una peticion LDAP.
v | Tipo de peticion LDAP. |
millisecond | Milisegundos esperados antes de considerar fallida la peticion LDAP. |
Los temporizadores correspondientes las peticiones LDAP se activaran automaticamente al invocar a los distintos métodos de esta clase.
|
noexcept |
Desconecta este cliente LDAP del servidor LDAP. Se notifica la terminación de cada una de las peticiones pendientes invocando al método Session::eventResponse indicando un error y se cancelan en el servidor LDAP.
|
friend |
|
friend |
|
static |
Periodo de espera por defecto para cada una de las peticiones de esta sesión.