X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=source%2Fdiameter.comm%2FServerSession.cpp;h=ad0b15a26e776caa186756eaf94f45b909e50c52;hb=e3f60b6b4a178c63ebd6f8915431bfa485a2e601;hp=a615c785d9998407b4c361299cdf3ac56b790a3f;hpb=129af2a9a7c287843be5bd443c5b1ad9b08438a8;p=anna.git diff --git a/source/diameter.comm/ServerSession.cpp b/source/diameter.comm/ServerSession.cpp index a615c78..ad0b15a 100644 --- a/source/diameter.comm/ServerSession.cpp +++ b/source/diameter.comm/ServerSession.cpp @@ -55,7 +55,7 @@ const anna::Millisecond ServerSession::DefaultAllowedInactivityTime(90000); // I ServerSession::ServerSession() : Session("diameter::comm::ServerSession", "Diameter Inactivity Detection Timer"), a_receiverFactory(this), a_cer(ClassCode::Bind), - a_dwr(ClassCode::ApplicationMessage) // realmente no es necesario, los Message son por defecto de aplicacion + a_dwr(ClassCode::ApplicationMessage) // not actually needed; Message is application type by default { initialize(); } void ServerSession::initialize() throw() { @@ -81,7 +81,6 @@ int ServerSession::getPort() const throw() { return a_parent->getKey().second; } - const Response* ServerSession::send(const Message* message) throw(anna::RuntimeException) { LOGMETHOD(anna::TraceMethod traceMethod(a_className, "send", ANNA_FILE_LOCATION)); @@ -314,6 +313,12 @@ void ServerSession::eventPeerShutdown() throw() { } void ServerSession::eventRequestRetransmission(Message *request) throw() { + + // OAM + OamModule &oamModule = OamModule::instantiate(); + oamModule.count(OamModule::Counter::RequestRetransmitted); + oamModule.count(OamModule::Counter::RequestRetransmittedOnServerSession); + // Inform father server: a_parent->eventRequestRetransmission(this, request); } @@ -392,6 +397,9 @@ throw(anna::RuntimeException) { } a_cer.setBody(db); + // Basic DRA: + getParent()->getEngine()->manageDrDhServerSession(this, true /* register */); + sendCEA(); //activateTimer(); // Ya se invoca al inicio de este metodo ::receive //bool changes = a_parent->refreshAvailability();