Fix local server for multiple applications
[anna.git] / source / diameter.comm / LocalServer.cpp
index a445245..703dc66 100644 (file)
@@ -7,10 +7,10 @@
 
 
 #include <anna/diameter.comm/OamModule.hpp>
-#include <anna/diameter.comm/Engine.hpp>
 #include <anna/diameter.comm/LocalServer.hpp>
 #include <anna/diameter.comm/ServerSession.hpp>
 #include <anna/diameter.comm/ServerSocket.hpp>
+#include <anna/diameter.comm/Engine.hpp>
 #include <anna/core/functions.hpp>
 #include <anna/statistics/Engine.hpp>
 #include <anna/diameter.comm/TimerManager.hpp>
@@ -38,7 +38,6 @@ LocalServer::LocalServer() :
   a_maxConnections(-1),
   a_currentConnections(0),
   a_allowedInactivityTime(ServerSession::DefaultAllowedInactivityTime),
-  a_engine(NULL),
   a_serverSocket(NULL),
   a_category(0),
   a_lock(false),
@@ -49,10 +48,6 @@ LocalServer::LocalServer() :
 void LocalServer::initializeStatisticResources() {
   std::string accName = "local server '";
   accName += anna::functions::socketLiteralAsString(a_key.first, a_key.second);
-  accName += "' on origin-realm '";
-  accName += a_engine ? a_engine->getOriginRealmName() : "unknown"; // it should be known (createServer)
-  accName += "' and origin-host '";
-  accName += a_engine ? a_engine->getOriginHostName() : "unknown"; // it should be known (createServer)
   accName += "'";
   a_messageStatistics.initialize(accName);
 }
@@ -98,7 +93,6 @@ void LocalServer::availabilityLost() {
   OamModule &oamModule = OamModule::instantiate();
   oamModule.activateAlarm(OamModule::Alarm::c_LostAvailabilityOverLocalServerDefinedAs__s__, socket.c_str());
   oamModule.count(OamModule::Counter::LostAvailabilityOverLocalServer);
-  a_engine->availabilityLost(this);
   a_engine->refreshAvailabilityForLocalServers();
 }
 
@@ -116,7 +110,6 @@ void LocalServer::availabilityRecovered() {
   OamModule &oamModule = OamModule::instantiate();
   oamModule.cancelAlarm(OamModule::Alarm::c_LostAvailabilityOverLocalServerDefinedAs__s__, socket.c_str());
   oamModule.count(OamModule::Counter::RecoveredAvailabilityOverLocalServer);
-  a_engine->availabilityRecovered(this);
   a_engine->refreshAvailabilityForLocalServers();
 }
 
@@ -275,7 +268,6 @@ ServerSession *LocalServer::createServerSession(const anna::comm::ClientSocket &
   result->a_parent = this;
   result->a_socketId = key; // de momento...
   result->initializeSequences(); // despues de asignar el LocalServer y el socketId (sequences are seed-based by mean exclusive hash)
-  result->a_engine = a_engine;
   a_serverSessions.insert(serverSession_value_type(key, result));
   newConnection();
   a_deliveryIterator = serverSession_begin();
@@ -552,7 +544,9 @@ void LocalServer::eventRequestRetransmission(const ServerSession* serverSession,
 
 std::string LocalServer::asString() const {
   std::string result("diameter::comm::LocalServer { ");
-  result += "Description: ";
+  result += "Key: ";
+  result += anna::functions::socketLiteralAsString(getKey().first, getKey().second);
+  result += " | Description: ";
   result += (a_description != "") ? a_description : "undefined";
   result += " | Available (any server session bound): ";
   result += a_available ? "yes" : "no";