X-Git-Url: https://git.teslayout.com/public/public/public/?p=anna.git;a=blobdiff_plain;f=example%2Fdiameter%2FrxSimpleTest%2FMyLocalServer.cpp;h=a3809a13c85dc57ff9f4da48987c98135e2f4da2;hp=1327dd1474ee391a40c25539d5117cdabfbde4f1;hb=HEAD;hpb=7681cb4079366eb6908dd5d0dc0124c3fcef4b6b diff --git a/example/diameter/rxSimpleTest/MyLocalServer.cpp b/example/diameter/rxSimpleTest/MyLocalServer.cpp index 1327dd1..a3809a1 100755 --- a/example/diameter/rxSimpleTest/MyLocalServer.cpp +++ b/example/diameter/rxSimpleTest/MyLocalServer.cpp @@ -23,13 +23,16 @@ #include -void MyLocalServer::eventRequest(anna::diameter::comm::ServerSession *serverSession, const anna::DataBlock &message) +void MyLocalServer::eventRequest(anna::diameter::comm::ServerSession *serverSession, const anna::DataBlock &message, const anna::diameter::comm::OriginHost *myNode) noexcept(false) { LOGMETHOD(anna::TraceMethod tm("rxSimpleTest::MyLocalServer", "eventRequest", ANNA_FILE_LOCATION)); + + // Protection: + if (!myNode) return; + // Performance stats: RxSimpleTest& my_app = static_cast (anna::app::functions::getApp()); - anna::diameter::comm::OriginHost *my_node = my_app.getOriginHost(getEngine()->getOriginHostName()); - anna::diameter::codec::Engine *codecEngine = my_node->getCodecEngine(); + anna::diameter::codec::Engine *codecEngine = myNode->getCodecEngine(); // CommandId: anna::diameter::CommandId cid = anna::diameter::codec::functions::getCommandId(message); @@ -51,7 +54,7 @@ noexcept(false) { anna::diameter::comm::Message *msg; try { - msg = my_node->createCommMessage(); + msg = (const_cast(myNode))->createCommMessage(); msg->setBody(answer_message->code()); /* response = NULL =*/serverSession->send(msg); } catch(anna::RuntimeException &ex) { @@ -59,14 +62,13 @@ noexcept(false) { } // release msg - my_node->releaseCommMessage(msg); + (const_cast(myNode))->releaseCommMessage(msg); } -void MyLocalServer::eventResponse(const anna::diameter::comm::Response &response) +void MyLocalServer::eventResponse(const anna::diameter::comm::Response &response, const anna::diameter::comm::OriginHost *myNode) noexcept(false) { LOGMETHOD(anna::TraceMethod tm("rxSimpleTest::MyLocalServer", "eventResponse", ANNA_FILE_LOCATION)); RxSimpleTest& my_app = static_cast (anna::app::functions::getApp()); - anna::diameter::comm::OriginHost * my_node = my_app.getOriginHost(getEngine()->getOriginHostName()); anna::diameter::comm::ClassCode::_v code = response.getClassCode(); anna::diameter::comm::Response::ResultCode::_v result = response.getResultCode(); anna::diameter::comm::Message* request = const_cast(response.getRequest()); @@ -110,12 +112,11 @@ noexcept(false) { } } -void MyLocalServer::eventUnknownResponse(anna::diameter::comm::ServerSession *serverSession, const anna::DataBlock &message) +void MyLocalServer::eventUnknownResponse(anna::diameter::comm::ServerSession *serverSession, const anna::DataBlock &message, const anna::diameter::comm::OriginHost *myNode) noexcept(false) { LOGMETHOD(anna::TraceMethod tm("rxSimpleTest::MyLocalServer", "eventUnknownResponse", ANNA_FILE_LOCATION)); // Performance stats: RxSimpleTest& my_app = static_cast (anna::app::functions::getApp()); - anna::diameter::comm::OriginHost *my_node = my_app.getOriginHost(getEngine()->getOriginHostName()); // CommandId: anna::diameter::CommandId cid = anna::diameter::codec::functions::getCommandId(message); LOGDEBUG @@ -130,12 +131,11 @@ noexcept(false) { ); } -void MyLocalServer::eventDPA(anna::diameter::comm::ServerSession *serverSession, const anna::DataBlock &message) +void MyLocalServer::eventDPA(anna::diameter::comm::ServerSession *serverSession, const anna::DataBlock &message, const anna::diameter::comm::OriginHost *myNode) noexcept(false) { LOGMETHOD(anna::TraceMethod tm("rxSimpleTest::MyLocalServer", "eventDPA", ANNA_FILE_LOCATION)); // Performance stats: RxSimpleTest& my_app = static_cast (anna::app::functions::getApp()); - anna::diameter::comm::OriginHost *my_node = my_app.getOriginHost(getEngine()->getOriginHostName()); // CommandId: anna::diameter::CommandId cid = anna::diameter::codec::functions::getCommandId(message); LOGDEBUG