projects
/
anna.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Gives application control over event DPA received for both client and entity
[anna.git]
/
source
/
diameter.comm
/
ServerSession.cpp
diff --git
a/source/diameter.comm/ServerSession.cpp
b/source/diameter.comm/ServerSession.cpp
index
ba40dff
..
90da697
100644
(file)
--- a/
source/diameter.comm/ServerSession.cpp
+++ b/
source/diameter.comm/ServerSession.cpp
@@
-346,6
+346,10
@@
void ServerSession::eventUnknownResponse(const anna::DataBlock& response) throw(
a_parent->eventUnknownResponse(this, response);
}
a_parent->eventUnknownResponse(this, response);
}
+void ServerSession::eventDPA(const anna::DataBlock& response) throw(anna::RuntimeException) {
+ // Inform father server:
+ a_parent->eventDPA(this, response);
+}
//------------------------------------------------------------------------------------------
// Se invoca desde el diameter::comm::Receiver
//------------------------------------------------------------------------------------------
// Se invoca desde el diameter::comm::Receiver
@@
-452,6
+456,9
@@
throw(anna::RuntimeException) {
doUnbind = true;
}
}
doUnbind = true;
}
}
+
+ eventDPA(db);
+
} else if(cid == helpers::base::COMMANDID__Device_Watchdog_Answer) { // non usual (server should not send DWR's)
oamModule.count(OamModule::Counter::DWAReceived);
}
} else if(cid == helpers::base::COMMANDID__Device_Watchdog_Answer) { // non usual (server should not send DWR's)
oamModule.count(OamModule::Counter::DWAReceived);
}
@@
-724,7
+731,7
@@
void ServerSession::countSendings(const diameter::CommandId & cid, bool ok)throw
if(ok) {
// Main counters:
oamModule.count(isRequest ? OamModule::Counter::RequestSentOK : OamModule::Counter::AnswerSentOK);
if(ok) {
// Main counters:
oamModule.count(isRequest ? OamModule::Counter::RequestSentOK : OamModule::Counter::AnswerSentOK);
- oamModule.count(isRequest ? OamModule::Counter::RequestSentOnServerSessionOK : OamModule::Counter::
Request
SentOnServerSessionOK);
+ oamModule.count(isRequest ? OamModule::Counter::RequestSentOnServerSessionOK : OamModule::Counter::
Answer
SentOnServerSessionOK);
if(cid == helpers::base::COMMANDID__Capabilities_Exchange_Answer) oamModule.count(OamModule::Counter::CEASentOK);
else if(cid == helpers::base::COMMANDID__Device_Watchdog_Answer) oamModule.count(OamModule::Counter::DWASentOK);
if(cid == helpers::base::COMMANDID__Capabilities_Exchange_Answer) oamModule.count(OamModule::Counter::CEASentOK);
else if(cid == helpers::base::COMMANDID__Device_Watchdog_Answer) oamModule.count(OamModule::Counter::DWASentOK);