Fix local server for multiple applications
[anna.git] / include / anna / diameter.comm / LocalServer.hpp
index ba1d494..6a63a7c 100644 (file)
@@ -43,10 +43,10 @@ namespace diameter {
 
 namespace comm {
 
 
 namespace comm {
 
-class Engine;
 class Response;
 class ServerSocket;
 class Message;
 class Response;
 class ServerSocket;
 class Message;
+class Engine;
 
 
 /**
 
 
 /**
@@ -65,7 +65,7 @@ class LocalServer {
   bool a_lock;
 
   // Engine
   bool a_lock;
 
   // Engine
-  Engine *a_engine;
+  Engine *a_engine; // only for refresh availability
 
   // Statistics
   MessageStatistics a_messageStatistics;
 
   // Statistics
   MessageStatistics a_messageStatistics;
@@ -186,12 +186,6 @@ public:
 
   // getters
 
 
   // getters
 
-  /**
-  * Gets the diameter::comm::Engine
-  * @return Diameter::comm::Engine
-  */
-  Engine *getEngine() const { return a_engine; }
-
   /**
   * Gets the local server key
   * @return LocalServer key
   /**
   * Gets the local server key
   * @return LocalServer key
@@ -380,16 +374,18 @@ protected:
      Handler for diameter client responses
 
      \param response Answer container object for corresponding diameter request
      Handler for diameter client responses
 
      \param response Answer container 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 client requests
 
      \param serverSession ServerSession from which request has been received
      \param request Request data block object for corresponding diameter reception
 
   /**
      Handler for diameter client requests
 
      \param serverSession ServerSession from which request has been received
      \param request Request data block object for corresponding diameter reception
+     \param myNode Own origin host
   */
   */
-  virtual void eventRequest(ServerSession* serverSession, const anna::DataBlock& request) noexcept(false) = 0;
+  virtual void eventRequest(ServerSession* serverSession, const anna::DataBlock& request, const anna::diameter::comm::OriginHost *myNode) noexcept(false) = 0;
   //void eventRequest(ServerSession* serverSession, const Message& request) noexcept(false);
 
   /**
   //void eventRequest(ServerSession* serverSession, const Message& request) noexcept(false);
 
   /**
@@ -397,16 +393,18 @@ protected:
 
      \param serverSession ServerSession from which request has been received
      \param response Answer data block object without context match
 
      \param serverSession ServerSession from which request has been received
      \param response Answer data block object without context match
+     \param myNode Own origin host
   */
   */
-  virtual void eventUnknownResponse(ServerSession* serverSession, const anna::DataBlock& response) noexcept(false) = 0;
+  virtual void eventUnknownResponse(ServerSession* serverSession, const anna::DataBlock& response, const anna::diameter::comm::OriginHost *myNode) noexcept(false) = 0;
 
   /**
      Handler for diameter client Disconnect-Peer-Answer messages
 
      \param serverSession ServerSession from which request has been received
      \param response Answer data block object without context match
 
   /**
      Handler for diameter client Disconnect-Peer-Answer messages
 
      \param serverSession ServerSession from which request has been received
      \param response Answer data block object without context match
+     \param myNode Own origin host
   */
   */
-  virtual void eventDPA(ServerSession* serverSession, const anna::DataBlock& response) noexcept(false) = 0;
+  virtual void eventDPA(ServerSession* serverSession, const anna::DataBlock& response, const anna::diameter::comm::OriginHost *myNode) noexcept(false) = 0;
 
 
   friend class anna::diameter::comm::Timer;
 
 
   friend class anna::diameter::comm::Timer;