X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;ds=sidebyside;f=example%2Fdiameter%2Flauncher%2FOriginHost.cpp;h=195edad9b0c277ba4521e1900c03bfd05c70f9fd;hb=61f1340da3cae5159d2e3bc14fc47c6d4bf9453e;hp=32044b91418bc561c10b29cd62f39242f6736a67;hpb=5bf5055ab79aaf464e2491cfbab173ba37ba3419;p=anna.git diff --git a/example/diameter/launcher/OriginHost.cpp b/example/diameter/launcher/OriginHost.cpp index 32044b9..195edad 100644 --- a/example/diameter/launcher/OriginHost.cpp +++ b/example/diameter/launcher/OriginHost.cpp @@ -36,7 +36,7 @@ OriginHost::OriginHost(const std::string &originHost, unsigned int applicationId std::string commEngineName = a_originHost + "_DiameterCommEngine"; a_commEngine = new MyDiameterEngine(commEngineName.c_str(), baseProtocolDictionary); a_commEngine->setAutoBind(false); // allow to create client-sessions without binding them, in order to set timeouts. - a_codecEngine = anna::diameter::codec::EngineManager::instantiate().getCodecEngine(applicationId); + a_codecEngine = anna::diameter::codec::EngineManager::instantiate().getCodecEngine(applicationId); // i know, this is going to exist (getCodecEngine is not null) a_logFile = ""; a_burstLogFile = ""; @@ -74,19 +74,21 @@ void OriginHost::createEntity(const std::string &entityRepresentation, const ann a_entity->setClassCodeTimeout(anna::diameter::comm::ClassCode::ApplicationMessage, applicationTimeout); } -void OriginHost::startDiameterServer(const std::string &serverRepresentation, int sessions, const anna::Millisecond &inactivityTimeout) throw(anna::RuntimeException) { +void OriginHost::startDiameterServer(const std::string &serverRepresentation, int sessions, const anna::Millisecond &inactivityTimeout, const anna::Millisecond &applicationTimeout, const std::string &ceaPathfile) throw(anna::RuntimeException) { //if(sessions <= 0) return; negative implies no limit for accepted connections std::string address; int port; anna::functions::getAddressAndPortFromSocketLiteral(serverRepresentation, address, port); std::string serverDescription = "Launcher diameter local server for "; serverDescription += a_originHost; + a_commEngine->setCEA(ceaPathfile); a_diameterServer = (MyLocalServer*)(a_commEngine->createLocalServer(address, port, sessions)); // we could set sessions = 0, and after application run(), use setMaxConnections(real sessions) // over the local server in order to start it. a_diameterServer->setDescription(serverDescription); a_diameterServer->setAllowedInactivityTime(inactivityTimeout); + a_diameterServer->setClassCodeTimeout(anna::diameter::comm::ClassCode::ApplicationMessage, applicationTimeout); } anna::diameter::comm::Message *OriginHost::createCommMessage() throw(anna::RuntimeException) { @@ -147,7 +149,10 @@ void OriginHost::writeLogFile(const anna::diameter::codec::Message &decodedMessa } if(a_dumpLog) { - std::string name = getMyDiameterEngine()->getOriginHost(); + // .......xml + std::string name = anna::functions::asString((anna::Millisecond)anna::functions::millisecond()); + name += "."; + name += getMyDiameterEngine()->getOriginHost(); name += "."; name += anna::functions::asString(decodedMessage.getHopByHop()); name += ".";