Skip bad decoded frames, but not exit
[anna.git] / example / diameter / launcher / MyDiameterEntity.cpp
index 50a9663..5e78ab3 100644 (file)
@@ -20,7 +20,7 @@
 #include <MyDiameterEntity.hpp>
 #include <MyLocalServer.hpp>
 #include <Launcher.hpp>
-#include <RealmNode.hpp>
+#include <OriginHost.hpp>
 #include <TestManager.hpp>
 
 
@@ -33,7 +33,7 @@ void MyDiameterEntity::eventRequestRetransmission(const anna::diameter::comm::Cl
 
   // Performance stats:
   Launcher& my_app = static_cast <Launcher&>(anna::app::functions::getApp());
-  RealmNode * my_node = my_app.getRealmNode(getEngine()->getRealm());
+  OriginHost * my_node = my_app.getOriginHost(getEngine()->getOriginHost());
   // CommandId:
   anna::diameter::CommandId cid = anna::diameter::codec::functions::getCommandId(request->getBody());
   LOGDEBUG
@@ -99,10 +99,7 @@ throw(anna::RuntimeException) {
   LOGMETHOD(anna::TraceMethod tm("launcher::MyDiameterEntity", "eventRequest", ANNA_FILE_LOCATION));
   // Performance stats:
   Launcher& my_app = static_cast <Launcher&>(anna::app::functions::getApp());
-  RealmNode * my_node = my_app.getRealmNode(getEngine()->getRealm());
-
-  // Testing:
-  TestManager::instantiate().receiveMessage(message, clientSession);
+  OriginHost * my_node = my_app.getOriginHost(getEngine()->getOriginHost());
 
   // CommandId:
   anna::diameter::CommandId cid = anna::diameter::codec::functions::getCommandId(message);
@@ -177,13 +174,16 @@ throw(anna::RuntimeException) {
       ex.trace();
     }
   }
+
+  // Testing:
+  TestManager::instantiate().receiveMessage(message, my_node, clientSession);
 }
 
 void MyDiameterEntity::eventResponse(const anna::diameter::comm::Response &response)
 throw(anna::RuntimeException) {
   LOGMETHOD(anna::TraceMethod tm("launcher::MyDiameterEntity", "eventResponse", ANNA_FILE_LOCATION));
   Launcher& my_app = static_cast <Launcher&>(anna::app::functions::getApp());
-  RealmNode * my_node = my_app.getRealmNode(getEngine()->getRealm());
+  OriginHost * my_node = my_app.getOriginHost(getEngine()->getOriginHost());
   anna::diameter::comm::ClassCode::_v code = response.getClassCode();
   anna::diameter::comm::Response::ResultCode::_v result = response.getResultCode();
   anna::diameter::comm::Message* request = const_cast<anna::diameter::comm::Message*>(response.getRequest());
@@ -195,9 +195,6 @@ throw(anna::RuntimeException) {
   bool isUnavailable = (result == anna::diameter::comm::Response::ResultCode::DiameterUnavailable);
   bool isOK = (result == anna::diameter::comm::Response::ResultCode::Success);
 
-  // Testing:
-  TestManager::instantiate().receiveMessage(*message, clientSession);
-
   // CommandId:
   anna::diameter::CommandId request_cid = request->getCommandId();
   LOGDEBUG
@@ -272,6 +269,9 @@ throw(anna::RuntimeException) {
 
   // Triggering burst:
   if(isOK || contextExpired) my_node->sendBurstMessage();
+
+  // Testing:
+  TestManager::instantiate().receiveMessage(*message, my_node, clientSession);
 }
 
 void MyDiameterEntity::eventUnknownResponse(anna::diameter::comm::ClientSession *clientSession, const anna::DataBlock &message)
@@ -279,7 +279,7 @@ throw(anna::RuntimeException) {
   LOGMETHOD(anna::TraceMethod tm("launcher::MyDiameterEntity", "eventUnknownResponse", ANNA_FILE_LOCATION));
   // Performance stats:
   Launcher& my_app = static_cast <Launcher&>(anna::app::functions::getApp());
-  RealmNode * my_node = my_app.getRealmNode(getEngine()->getRealm());
+  OriginHost * my_node = my_app.getOriginHost(getEngine()->getOriginHost());
   // CommandId:
   anna::diameter::CommandId cid = anna::diameter::codec::functions::getCommandId(message);
   LOGDEBUG
@@ -302,7 +302,7 @@ throw(anna::RuntimeException) {
   LOGMETHOD(anna::TraceMethod tm("launcher::MyDiameterEntity", "eventDPA", ANNA_FILE_LOCATION));
   // Performance stats:
   Launcher& my_app = static_cast <Launcher&>(anna::app::functions::getApp());
-  RealmNode * my_node = my_app.getRealmNode(getEngine()->getRealm());
+  OriginHost * my_node = my_app.getOriginHost(getEngine()->getOriginHost());
   // CommandId:
   anna::diameter::CommandId cid = anna::diameter::codec::functions::getCommandId(message);
   LOGDEBUG
@@ -318,4 +318,7 @@ throw(anna::RuntimeException) {
 
   // Write reception
   if(my_node->logEnabled()) my_node->writeLogFile(message, "recvfe", clientSession->asString());
+
+  // Testing:
+  TestManager::instantiate().receiveMessage(message, my_node, clientSession);
 }