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

#include <Delivery.hpp>

Inheritance diagram for anna::dbms::Delivery:
Inheritance graph
[legend]
Collaboration diagram for anna::dbms::Delivery:
Collaboration graph
[legend]

Public Member Functions

 Delivery (const char *name)
 
void createConnections (Database &database, const char *prefixName, const char *user, const char *password, const int n) noexcept(false)
 
void addConnection (Connection *connection) noexcept(false)
 
ConnectiongetConnection () noexcept(false)
 

Detailed Description

Agrupacion logica de conexiones con la base de datos. Reparte la carga de las transacciones contra la base de datos entre las distintas conexiones que contenga esta instancia. Ademas en caso de estar en una ejecucion con soporte para multithread (ver anna::functions::supportMultithread) asegura que cada uno de los threads siempre utiliza la misma conexion lo cual asegura el mantinimiento de la integridad de cada una de las transacciones de los threads.

Constructor & Destructor Documentation

◆ Delivery()

anna::dbms::Delivery::Delivery ( const char *  name)
inline

Constructor.

Parameters
nameNombre logico de este grupo de conexiones.
33 : comm::Delivery(name) {;}
Here is the call graph for this function:

Member Function Documentation

◆ addConnection()

void anna::dbms::Delivery::addConnection ( Connection connection)
inlinenoexcept

Incorpora al conexion recibida como parametro a la agrupacion logica.

Parameters
connectionConexion que vamos a incorporar a la agrupacion logica.
53  {
54  this->add(connection);
55  a_iiConnection = this->begin();
56  }
iterator begin()
Definition: Delivery.hpp:126
void add(Resource *resource) noexcept(false)
Here is the call graph for this function:

◆ createConnections()

void anna::dbms::Delivery::createConnections ( Database database,
const char *  prefixName,
const char *  user,
const char *  password,
const int  n 
)
noexcept

Crea automaticamente las conexiones a la base de datos recibida como parametro con el usuario/password indicado.

Parameters
databaseInstancia de la base de datos contra la que realizamos la conexion.
prefixNamePrefijo del nombre logico de la conexiones que vamos a crear. El resto del nombre vendra dado por el numero secuencial de la conexion.
userNombre del usuario con el que realizamos la conexion.
passwordCodigo de acceso del usuario.
nNumero de conexion a crear.
Warning
Recordar que el numero maximo de conexiones a una base de datos esta limitado por Database::maxConnection.

◆ getConnection()

Connection& anna::dbms::Delivery::getConnection ( )
noexcept

Devuelve la instancia de la conexion a base de datos con la que debemos trabajar.

Returns
la instancia de la conexion a base de datos con la que debemos trabajar.
Warning
La conexion debe ser bloqueada por el Thread que la recibe (ver anna::Guard) para asegurar que cualquier otro thread que intente acceder a ella queda bloqueado a la espera de que terminemos de trabajar sobre ella.

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