X-Git-Url: https://git.teslayout.com/public/public/public/?p=anna.git;a=blobdiff_plain;f=include%2Fanna%2Fdiameter.comm%2FSession.hpp;h=de7e56979be1ee8807404deff187768e876d92db;hp=6507229e1c9f57f8eb23cd08e7d4d12ed2e43ddb;hb=HEAD;hpb=7681cb4079366eb6908dd5d0dc0124c3fcef4b6b diff --git a/include/anna/diameter.comm/Session.hpp b/include/anna/diameter.comm/Session.hpp index 6507229..de7e569 100644 --- a/include/anna/diameter.comm/Session.hpp +++ b/include/anna/diameter.comm/Session.hpp @@ -45,6 +45,7 @@ namespace comm { class Timer; class Engine; class Response; +class OriginHost; @@ -265,9 +266,6 @@ public: protected: - // Auxiliary messages: - Message a_dpr; - // Internal, traces, etc. const char *a_className; @@ -275,7 +273,6 @@ protected: int a_socketId; // multiple connection functionality State::_v a_state; OnDisconnect::_v a_onDisconnect; - Engine *a_engine; anna::diameter::comm::Timer *a_actionTimer; // Sequencing @@ -339,15 +336,17 @@ protected: Handler for diameter session responses \param response Answer data block object for corresponding diameter request + \param myNode Own origin host */ - virtual void eventResponse(const Response& response) noexcept(false) = 0; + virtual void eventResponse(const Response& response, const anna::diameter::comm::OriginHost *myNode) noexcept(false) = 0; /** Handler for diameter session requests \param request Request container object for corresponding diameter reception + \param myNode Own origin host */ - virtual void eventRequest(const anna::DataBlock& request) noexcept(false) = 0; + virtual void eventRequest(const anna::DataBlock& request, const anna::diameter::comm::OriginHost *myNode) noexcept(false) = 0; //void eventRequest(const Message& request) noexcept(false); @@ -355,15 +354,17 @@ protected: Handler for diameter session responses out of context \param response Answer data block object without context match + \param myNode Own origin host */ - virtual void eventUnknownResponse(const anna::DataBlock& response) noexcept(false) = 0; + virtual void eventUnknownResponse(const anna::DataBlock& response, const anna::diameter::comm::OriginHost *myNode) noexcept(false) = 0; /** Handler for diameter session Disconnect-Peer-Answer messages \param response Answer data block object without context match + \param myNode Own origin host */ - virtual void eventDPA(const anna::DataBlock& response) noexcept(false) = 0; + virtual void eventDPA(const anna::DataBlock& response, const anna::diameter::comm::OriginHost *myNode) noexcept(false) = 0; @@ -389,7 +390,7 @@ protected: virtual void expireResponse(Response*) ; - void sendDPA() noexcept(false); + void sendDPA(const Engine *commEngine, const anna::DataBlock &dprDataBlock) noexcept(false); void activateActionTimer(const anna::diameter::comm::Timer::Type::_v type) ; void cancelActionTimer() ; void activateTimer() ; // Session timer @@ -409,7 +410,6 @@ protected: friend class anna::diameter::comm::Timer; - friend class Engine; friend class Response; };