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

#include <Receiver.hpp>

Inheritance diagram for anna::comm::Receiver:
Inheritance graph
[legend]

Public Member Functions

const std::string & getName () const
 
virtual void apply (ClientSocket &clientSocket, const Message &message) noexcept(false)=0
 
virtual void eventBreakConnection (const comm::ClientSocket &clientSocket)
 
virtual void eventBreakLocalConnection (const comm::ClientSocket &clientSocket)
 
virtual void eventCreateConnection (const Server *server)
 
virtual std::string asString () const
 
virtual xml::NodeasXML (xml::Node *parent) const noexcept(false)
 

Protected Member Functions

 Receiver (const char *name)
 
virtual void initialize () noexcept(false)
 

Friends

class ReceiverFactory
 
class ClientSocket
 

Detailed Description

Modela la clase que gestiona el tratamiento de los mensajes de red de forma independiente para cada thread.

See also
Communicator.
ReceiverFactory

Constructor & Destructor Documentation

◆ Receiver()

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

Contructor.

Parameters
nameNombre logico del receiver.
97 : a_name(name) { ; }

Member Function Documentation

◆ apply()

virtual void anna::comm::Receiver::apply ( ClientSocket clientSocket,
const Message message 
)
pure virtualnoexcept

Metodo manejador de los mensajes recibidos por el socket. En entornos MT cada socket invocara a su Receiver asociado de forma totalmente independiente.

Parameters
clientSocketSocket cliente por el que ha llegado el mensaje.
messageUltimo mensaje recibido. El bloque de datos recibido ya ha sido decodificado aplicando las reglas establecidas por la capa de transporte asociado al ClientSocket por el que llega el mensaje.

Implemented in anna::http::Handler.

◆ asString()

virtual std::string anna::comm::Receiver::asString ( void  ) const
inlinevirtual

Devuelve una cadena con toda la informacion relevante de este objeto.

Returns
una cadena con toda la informacion relevante de este objeto.
75  {
76  std::string msg("anna::comm::Receiver { Name: ");
77  msg += a_name;
78  return msg += " }";
79  }

◆ asXML()

virtual xml::Node* anna::comm::Receiver::asXML ( xml::Node parent) const
inlinevirtualnoexcept

Devuelve un nodo XML con la informacion referente a este objeto.

Parameters
parentNodo XML a partir del cual introducir la informacion.
Returns
Un nodo XML con la informacion referente a este objeto.
86  {
87  xml::Node* node = parent->createChild("comm.Receiver");
88  node->createAttribute("Name", a_name);
89  return node;
90  }
xml::Attribute * createAttribute(const char *name, const char *value, const Namespace *_namespace=NULL)
Node * createChild(const char *name)
xml::Node Node
Definition: Node.hpp:21
Here is the call graph for this function:

◆ eventBreakConnection()

virtual void anna::comm::Receiver::eventBreakConnection ( const comm::ClientSocket clientSocket)
inlinevirtual

Método manejador de la notificación de que el socket va a ser cerrado. param clientSocket Socket cliente que va a ser cerrado.

Reimplemented in anna::diameter::comm::ClientSessionReceiver.

56 {;}

◆ eventBreakLocalConnection()

virtual void anna::comm::Receiver::eventBreakLocalConnection ( const comm::ClientSocket clientSocket)
inlinevirtual

Método manejador de la notificación de que el socket va a ser cerrado. param clientSocket Socket cliente que va a ser cerrado.

Reimplemented in anna::diameter::comm::ServerSessionReceiver.

62 {;}

◆ eventCreateConnection()

virtual void anna::comm::Receiver::eventCreateConnection ( const Server server)
inlinevirtual

Método manejador de la notificación de que se ha creado una nueva conexion

Parameters
serverProceso servidor con el que hemos establecido la conexion.

Reimplemented in anna::diameter::comm::ClientSessionReceiver.

68 {;}

◆ getName()

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

Devuelve el nombre lógico de éste receptor.

Returns
el nombre lógico de éste receptor.
39 { return a_name; }
Here is the call graph for this function:

◆ initialize()

virtual void anna::comm::Receiver::initialize ( )
inlineprotectedvirtualnoexcept

Metodo invocado por el ReceiverFactory en el momento de pasar a usar esta instancia.

102 { ; }

Friends And Related Function Documentation

◆ ClientSocket

friend class ClientSocket
friend

Para poner invocar a initialize en caso de que se asocie de forma directa el receptor a un anna::comm::ClientSocket.

◆ ReceiverFactory

friend class ReceiverFactory
friend

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