// 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 */
//
// 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.
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)
*/
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
*/
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 \93E\94 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 \93M\94 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.