Fix local server for multiple applications
[anna.git] / example / diameter / rxSimpleTest / MyDiameterEntity.cpp
index a1b8001..9acd8fd 100755 (executable)
@@ -24,7 +24,7 @@
 #include <anna/testing/TestManager.hpp>
 
 
-void MyDiameterEntity::eventRequestRetransmission(const anna::diameter::comm::ClientSession* clientSession, anna::diameter::comm::Message *request) throw() {
+void MyDiameterEntity::eventRequestRetransmission(const anna::diameter::comm::ClientSession* clientSession, anna::diameter::comm::Message *request) {
 
   LOGMETHOD(anna::TraceMethod tm("rxSimpleTest::MyDiameterEntity", "eventRequestRetransmission", ANNA_FILE_LOCATION));
 
@@ -49,8 +49,8 @@ void MyDiameterEntity::eventRequestRetransmission(const anna::diameter::comm::Cl
 }
 
 
-void MyDiameterEntity::eventRequest(anna::diameter::comm::ClientSession *clientSession, const anna::DataBlock &message)
-throw(anna::RuntimeException) {
+void MyDiameterEntity::eventRequest(anna::diameter::comm::ClientSession *clientSession, const anna::DataBlock &message, const anna::diameter::comm::OriginHost *myNode)
+noexcept(false) {
   LOGMETHOD(anna::TraceMethod tm("rxSimpleTest::MyDiameterEntity", "eventRequest", ANNA_FILE_LOCATION));
   // Performance stats:
   RxSimpleTest& my_app = static_cast <RxSimpleTest&>(anna::app::functions::getApp());
@@ -70,8 +70,8 @@ throw(anna::RuntimeException) {
   );
 }
 
-void MyDiameterEntity::eventResponse(const anna::diameter::comm::Response &response)
-throw(anna::RuntimeException) {
+void MyDiameterEntity::eventResponse(const anna::diameter::comm::Response &response, const anna::diameter::comm::OriginHost *myNode)
+noexcept(false) {
   LOGMETHOD(anna::TraceMethod tm("rxSimpleTest::MyDiameterEntity", "eventResponse", ANNA_FILE_LOCATION));
   RxSimpleTest& my_app = static_cast <RxSimpleTest&>(anna::app::functions::getApp());
   anna::diameter::comm::OriginHost *my_node = my_app.getOriginHost(getEngine()->getOriginHostName());
@@ -155,7 +155,7 @@ throw(anna::RuntimeException) {
       anna::diameter::comm::Message *msg;
 
       try {
-        msg = my_node->createCommMessage();
+        msg = (const_cast<anna::diameter::comm::OriginHost*>(myNode))->createCommMessage();
         msg->setBody(aar.code());
         /* response = NULL =*/clientSession->send(msg);
       } catch(anna::RuntimeException &ex) {
@@ -163,7 +163,7 @@ throw(anna::RuntimeException) {
       }
 
       // release msg
-      my_node->releaseCommMessage(msg);
+      (const_cast<anna::diameter::comm::OriginHost*>(myNode))->releaseCommMessage(msg);
     }
     else if(request_cid == anna::diameter::helpers::nas::COMMANDID__AA_Request) {
       // Decode
@@ -179,8 +179,8 @@ throw(anna::RuntimeException) {
   }
 }
 
-void MyDiameterEntity::eventUnknownResponse(anna::diameter::comm::ClientSession *clientSession, const anna::DataBlock &message)
-throw(anna::RuntimeException) {
+void MyDiameterEntity::eventUnknownResponse(anna::diameter::comm::ClientSession *clientSession, const anna::DataBlock &message, const anna::diameter::comm::OriginHost *myNode)
+noexcept(false) {
   LOGMETHOD(anna::TraceMethod tm("rxSimpleTest::MyDiameterEntity", "eventUnknownResponse", ANNA_FILE_LOCATION));
   // Performance stats:
   RxSimpleTest& my_app = static_cast <RxSimpleTest&>(anna::app::functions::getApp());
@@ -199,8 +199,8 @@ throw(anna::RuntimeException) {
   );
 }
 
-void MyDiameterEntity::eventDPA(anna::diameter::comm::ClientSession *clientSession, const anna::DataBlock &message)
-throw(anna::RuntimeException) {
+void MyDiameterEntity::eventDPA(anna::diameter::comm::ClientSession *clientSession, const anna::DataBlock &message, const anna::diameter::comm::OriginHost *myNode)
+noexcept(false) {
   LOGMETHOD(anna::TraceMethod tm("rxSimpleTest::MyDiameterEntity", "eventDPA", ANNA_FILE_LOCATION));
   // Performance stats:
   RxSimpleTest& my_app = static_cast <RxSimpleTest&>(anna::app::functions::getApp());