a_burstPopCounter = 0;
}
-const std::string &OriginHost::getName() const throw() {
+const std::string &OriginHost::getName() const {
return a_commEngine->getOriginHostName();
}
-void OriginHost::createEntity(const std::string &entityRepresentation, const anna::Millisecond &bindTimeout, const anna::Millisecond &applicationTimeout) throw(anna::RuntimeException) {
+void OriginHost::createEntity(const std::string &entityRepresentation, const anna::Millisecond &bindTimeout, const anna::Millisecond &applicationTimeout) noexcept(false) {
anna::socket_v servers = anna::functions::getSocketVectorFromString(entityRepresentation);
std::string entityDescription = "Launcher diameter entity for "; entityDescription += getName();
a_entity->setClassCodeTimeout(anna::diameter::comm::ClassCode::ApplicationMessage, applicationTimeout);
}
-void OriginHost::createDiameterServer(const std::string &serverRepresentation, int sessions, const anna::Millisecond &inactivityTimeout, const anna::Millisecond &applicationTimeout, const std::string &ceaPathfile) throw(anna::RuntimeException) {
+void OriginHost::createDiameterServer(const std::string &serverRepresentation, int sessions, const anna::Millisecond &inactivityTimeout, const anna::Millisecond &applicationTimeout, const std::string &ceaPathfile) noexcept(false) {
//if(sessions <= 0) return; negative implies no limit for accepted connections
a_diameterServer->setClassCodeTimeout(anna::diameter::comm::ClassCode::ApplicationMessage, applicationTimeout);
}
-anna::diameter::comm::Message *OriginHost::createCommMessage() throw(anna::RuntimeException) {
+anna::diameter::comm::Message *OriginHost::createCommMessage() noexcept(false) {
anna::diameter::comm::Message *result = a_commMessages.create();
result->setRetries(a_requestRetransmissions);
if (a_requestRetransmissions > 0) result->setOnExpiry(anna::diameter::comm::Message::OnExpiry::Retransmit);
}
-void OriginHost::releaseCommMessage(anna::diameter::comm::Message *msg) throw() {
+void OriginHost::releaseCommMessage(anna::diameter::comm::Message *msg) {
a_commMessages.release(msg);
}
-void OriginHost::writeLogFile(const anna::DataBlock & db, const std::string &logExtension, const std::string &detail) const throw() {
+void OriginHost::writeLogFile(const anna::DataBlock & db, const std::string &logExtension, const std::string &detail) const {
anna::diameter::codec::Message codecMsg;
try { codecMsg.decode(db); } catch(anna::RuntimeException &ex) { ex.trace(); }
writeLogFile(codecMsg, logExtension, detail);
}
// Already decoded:
-void OriginHost::writeLogFile(const anna::diameter::codec::Message &decodedMessage, const std::string &logExtension, const std::string &detail) const throw() {
+void OriginHost::writeLogFile(const anna::diameter::codec::Message &decodedMessage, const std::string &logExtension, const std::string &detail) const {
// Open target file:
std::string targetFile = a_logFile;
out.close();
}
-void OriginHost::writeBurstLogFile(const std::string &buffer) throw() {
+void OriginHost::writeBurstLogFile(const std::string &buffer) {
std::ofstream out(a_burstLogFile.c_str(), std::ifstream::out | std::ifstream::app);
out.write(buffer.c_str(), buffer.size());
out.close(); // close() will be called when the object is destructed (i.e., when it goes out of scope).
// earlier than it goes out of scope.
}
-int OriginHost::clearBurst() throw() {
+int OriginHost::clearBurst() {
int size = a_burstMessages.size();
if(size) {
return size;
}
-int OriginHost::loadBurstMessage(const anna::DataBlock & db) throw(anna::RuntimeException) {
+int OriginHost::loadBurstMessage(const anna::DataBlock & db) noexcept(false) {
anna::diameter::comm::Message *msg = createCommMessage();
msg->setBody(db);
a_burstMessages[a_burstLoadIndx++] = msg;
return (a_burstLoadIndx - 1);
}
-int OriginHost::stopBurst() throw() {
+int OriginHost::stopBurst() {
if(!a_burstActive) {
std::string msg = "Burst launch is already stopped. Nothing done";
std::cout << msg << std::endl;
return (a_burstMessages.size() - (*a_burstDeliveryIt).first);
}
-int OriginHost::popBurst(int releaseAmount) throw() {
+int OriginHost::popBurst(int releaseAmount) {
if(!a_burstActive) {
std::string msg = "Burst launch is stopped. Nothing done";
std::cout << msg << std::endl;
return a_burstPopCounter;
}
-int OriginHost::pushBurst(int loadAmount) throw() {
+int OriginHost::pushBurst(int loadAmount) {
if(a_burstMessages.size() == 0) {
std::string msg = "Burst data not found (empty list). Ignoring burst launch";
std::cout << msg << std::endl;
return count;
}
-int OriginHost::sendBurst(int loadAmount) throw() {
+int OriginHost::sendBurst(int loadAmount) {
if(a_burstMessages.size() == 0) {
std::string msg = "Burst data not found (empty list). Ignoring burst launch";
std::cout << msg << std::endl;
return count;
}
-int OriginHost::startBurst(int initialLoad) throw() {
+int OriginHost::startBurst(int initialLoad) {
if(initialLoad < 1) {
std::string msg = "No initial load is specified. Ignoring burst start";
std::cout << msg << std::endl;
return (pushBurst(initialLoad));
}
-bool OriginHost::sendBurstMessage(bool anyway) throw() {
+bool OriginHost::sendBurstMessage(bool anyway) {
if(!anyway && !burstActive()) return false;
if(a_burstPopCounter > 0) {
return result;
}
-std::string OriginHost::lookBurst(int order) const throw() {
+std::string OriginHost::lookBurst(int order) const {
if (order == -1) order = a_burstDeliveryIt->first;
return result;
}
-std::string OriginHost::gotoBurst(int order) throw() {
+std::string OriginHost::gotoBurst(int order) {
std::string result = "Position not found for order provided (";
std::map<int, anna::diameter::comm::Message*>::iterator it = a_burstMessages.find(order - 1);
}
anna::xml::Node* OriginHost::asXML(anna::xml::Node* parent) const
-throw() {
+{
anna::xml::Node* result = parent->createChild("OriginHost");
result->createAttribute("originHost", getName());
return result;
}
-std::string OriginHost::asXMLString() const throw() {
+std::string OriginHost::asXMLString() const {
anna::xml::Node root("root");
return anna::xml::Compiler().apply(asXML(&root));
}