X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=include%2Fanna%2Fdiameter.comm%2FSession.hpp;h=b23f8c0273b15da0ca835322536fe41f1ff0c653;hb=8a597c7ccbe2986f505fd70258e4b59ecef4166f;hp=c1b9bbb0bf11830128576a14fdcb0e3d1858c525;hpb=93366a0bda79e6fd6e7dad6316bfcf8cc82f5731;p=anna.git diff --git a/include/anna/diameter.comm/Session.hpp b/include/anna/diameter.comm/Session.hpp index c1b9bbb..b23f8c0 100644 --- a/include/anna/diameter.comm/Session.hpp +++ b/include/anna/diameter.comm/Session.hpp @@ -87,16 +87,16 @@ public: // Cierre de iniciativa local: - // 1. Envio DPR al PCRF y me pongo en estado 'WaitingDPA'. En este estado no habrá keep-alive DWR/DWA. + // 1. Envio DPR al PCRF y me pongo en estado 'WaitingDPA'. En este estado no habr� keep-alive DWR/DWA. // 2. No dejo pasar nuevas peticiones (BLOCK-SEND). // 3. Cierro al recibir el DPA. // 4. Si expira el DPA, tambien cierro. WaitingDPA, /**< After requesting DPR to server, send is blocked over the session: when DPA arrives (or answer expires) the session is closed */ // Cierre de iniciativa remota: - // 1. Recibo DPR del PCRF y me pongo en estado 'Disconnecting'. En este estado no habrá keep-alive DWR/DWA. + // 1. Recibo DPR del PCRF y me pongo en estado 'Disconnecting'. En este estado no habr� keep-alive DWR/DWA. // 2. No dejo pasar nuevas peticiones (BLOCK-SEND). - // 3. Espero cursar las peticiones pendientes (a más tardar, será una expiracion Tx desde la recepcion del DPR). + // 3. Espero cursar las peticiones pendientes (a m�s tardar, ser� una expiracion Tx desde la recepcion del DPR). // 4. Envio DPA y activo un temporizador de cierre local (2*Tx) como proteccion (por si el servidor no cierra). Disconnecting, /**< After receiving DPR from server, send is blocked over the session: when no pending requests, DPA is sent to the server who will close connection */ @@ -190,7 +190,7 @@ public: // // En caso de enviar una 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 +// un error de temporizaci�n. La duracion del temporizador sera la establecida por // diameter::comm::TimerManager::setTimeout o el valor defecto. // // \param message Mensaje a enviar al servidor diameter con el que estamos conectados. @@ -200,8 +200,8 @@ public: const Response* send(const Message& message) throw(anna::RuntimeException) { return send(&message); } // Desconecta del extremo remoto -// Se notifica la terminación de cada una de las peticiones pendientes invocando al método Session::eventResponse -// \warning Después de invocar a este método habría que volver a iniciar una sesion. +// Se notifica la terminaci�n de cada una de las peticiones pendientes invocando al m�todo Session::eventResponse +// \warning Despu�s de invocar a este m�todo habr�a que volver a iniciar una sesion. virtual bool unbind(bool forceDisconnect /* se usa en timer, para el actionTimer del tipo SessionUnbind, etc. */ = false) throw(anna::RuntimeException) = 0; // returns true if done at call time (no pendings or ignore pendings, except Disconnecting state by mean DPR/DPA) @@ -328,6 +328,13 @@ protected: */ virtual void eventPeerShutdown() throw() = 0; + /** + Handler about a request retransmission over the session. + + \param request Message retransmitted + */ + virtual void eventRequestRetransmission(Message *request) throw() = 0; + /** Handler for diameter session responses @@ -365,8 +372,8 @@ protected: */ virtual void receive(const anna::comm::Message& message) throw(anna::RuntimeException) = 0; //PROTOCOL ERRORS -//The errors at the protocol level are reported in response messages that contain the “E” bit and the error code in the AVP result-Code (various errors having been produced only the first one of them is reported). Examples of these errors are: -//An unrecognized AVP with the “M” bit is received. +//The errors at the protocol level are reported in response messages that contain the �E� bit and the error code in the AVP result-Code (various errors having been produced only the first one of them is reported). Examples of these errors are: +//An unrecognized AVP with the �M� bit is received. //An AVP is received with an unrecognized value (in the AVP failed-AVP indicates the attribute that the error caused). //An mandatory AVP is not received. //Length of operation incorrect.