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

#include <TransportFactory.hpp>

Inheritance diagram for anna::comm::TransportFactory:
Inheritance graph
[legend]
Collaboration diagram for anna::comm::TransportFactory:
Collaboration graph
[legend]

Public Member Functions

const std::string & getName () const
 
int getOverQuotaSize () const
 
void setOverQuotaSize (const int overQuotaSize)
 
std::string asString () const
 
xml::NodeasXML (xml::Node *parent) const
 
- Public Member Functions inherited from anna::NRMutex
 NRMutex ()
 
- 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
 

Protected Member Functions

 TransportFactory (const char *name)
 
virtual Transportcreate ()=0
 
virtual void release (Transport *transport)=0
 
- Protected Member Functions inherited from anna::Safe
 Safe ()
 

Friends

class ClientSocket
 

Detailed Description

Interfaz que deben cumplir los gestores de capas de transporte.

Constructor & Destructor Documentation

◆ TransportFactory()

anna::comm::TransportFactory::TransportFactory ( const char *  name)
inlineprotected

Constructor

Parameters
nameNombre logico de esta factoria de capas de transporte.
72 : a_name(name), a_overQuotaSize(0) {;}

Member Function Documentation

◆ asString()

std::string anna::comm::TransportFactory::asString ( ) const

Devuelve una cadena con la informacion relevante sobre esta instancia.

Returns
una cadena con la informacion relevante sobre esta instancia.

◆ asXML()

xml::Node* anna::comm::TransportFactory::asXML ( xml::Node parent) const

Devuelve un documento XML con la informacion relevante sobre esta instancia.

Parameters
parentNodo XML del que debe depender el documento generado.
Returns
un documento XML con la informacion relevante sobre esta instancia.

◆ create()

virtual Transport* anna::comm::TransportFactory::create ( )
protectedpure virtual

Crea una instancia del protocolo de transporte asociado a esta factoria.

Returns
La instancia de un nuevo protocolo de transporte.
Warning
Cada uno de los transportes obtenidos debera ser liberado invocando a release.

◆ getName()

const std::string& anna::comm::TransportFactory::getName ( ) const
inline

Devuelve el nombre logico de esta factoria de capas de transporte.

Returns
el nombre logico de esta factoria de capas de transporte.
36 { return a_name; }

◆ getOverQuotaSize()

int anna::comm::TransportFactory::getOverQuotaSize ( ) const
inline

Devuelve la longitud maxima que puede contener el buffer intermedio antes de cerrar el socket por considerar que no puede sincronizarlo. Un valor 0 indica que no ha sido establecido ningun valor maximo, por lo que el valor a usar sera el indicado por anna::comm::Transport::DefaultMaxSize.

44 { return a_overQuotaSize; }

◆ release()

virtual void anna::comm::TransportFactory::release ( Transport transport)
protectedpure virtual

Libera la instancia del transporte recibida como parametro.

Parameters
transportInstancia del protocolo de transporte a liberar.
Warning
El transporte recibido como parametro debera haberse obtenido mediante create.

◆ setOverQuotaSize()

void anna::comm::TransportFactory::setOverQuotaSize ( const int  overQuotaSize)
inline

Establece la longitud maxima que puede contener el buffer intermedio antes de cerrar el socket por considerar que no puede sincronizarlo.

Parameters
overQuotaSizelongitud maxima que puede contener el buffer intermedio antes de cerrar el socket por considerar que no puede sincronizarlo.
52 { a_overQuotaSize = overQuotaSize; }

Friends And Related Function Documentation

◆ ClientSocket

friend class ClientSocket
friend

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