Add CEA on server session configuration for services
[anna.git] / source / diameter.comm / LocalServer.cpp
index b43a754..6374182 100644 (file)
@@ -50,8 +50,10 @@ LocalServer::LocalServer() :
 void LocalServer::initializeStatisticResources() throw() {
   std::string accName = "local server '";
   accName += anna::functions::socketLiteralAsString(a_key.first, a_key.second);
-  accName += "' on realm '";
-  accName += a_engine ? a_engine->getRealm() : "unknown"; // it should be known (createServer)
+  accName += "' on origin-realm '";
+  accName += a_engine ? a_engine->getOriginRealm() : "unknown"; // it should be known (createServer)
+  accName += "' and origin-host '";
+  accName += a_engine ? a_engine->getOriginHost() : "unknown"; // it should be known (createServer)
   accName += "'";
   a_statisticsAccumulator = anna::statistics::Engine::instantiate().createAccumulator(accName);
   a_processing_time__StatisticConceptId = a_statisticsAccumulator->addConcept("Diameter requests processing time at clients connected to", "ms", true/* integer values */);
@@ -385,9 +387,20 @@ void LocalServer::close() throw(anna::RuntimeException) {
     closeServerSession(serverSession(it));
 }
 
+void LocalServer::setClassCodeTimeout(const ClassCode::_v v, const anna::Millisecond & millisecond) throw() {
+  LOGMETHOD(anna::TraceMethod tttm("diameter::comm::LocalServer", "setClassCodeTimeout", ANNA_FILE_LOCATION));
+
+  for(serverSession_iterator it = serverSession_begin(); it != serverSession_end(); it++) {
+    try {
+      serverSession(it)->setClassCodeTimeout(v, millisecond);
+    } catch(anna::RuntimeException &ex) {
+      ex.trace();
+    }
+  }
+}
 
 void LocalServer::setMaxConnections(int maxConnections) throw(anna::RuntimeException) {
-  LOGMETHOD(anna::TraceMethod tttm("anna::diameter::comm::LocalServer", "setMaxConnections", ANNA_FILE_LOCATION));
+  LOGMETHOD(anna::TraceMethod tttm("diameter::comm::LocalServer", "setMaxConnections", ANNA_FILE_LOCATION));
 
   // Negative & initial
   if(maxConnections < 0) {