if (cer != "") {
try {
- diameterCER.loadXML(cer);
+ diameterCER.loadXMLFile(cer);
} catch(anna::RuntimeException &ex) {
//ex.trace();
encodeDefault = true;
if (dwr != "") {
try {
- diameterDWR.loadXML(dwr);
+ diameterDWR.loadXMLFile(dwr);
} catch(anna::RuntimeException &ex) {
//ex.trace();
encodeDefault = true;
// Assignments (it could be done at allocate):
if((a_cer.isEmpty()) || (a_dwr.isEmpty()))
- throw anna::RuntimeException("Must define valid CER and DWR messages by mean setCERandDWR()", ANNA_FILE_LOCATION);
+ throw anna::RuntimeException("Must define valid CER and DWR messages by mean setClientCERandDWR()", ANNA_FILE_LOCATION);
result->a_cer.setBody(a_cer);
result->a_dwr.setBody(a_dwr);
result->setWatchdogPeriod(a_watchdogPeriod);
result->a_parent = server;
result->a_socketId = socketId;
- result->initializeSequences(); // despu�s de asignar el server y el socketId (*)
- // (*) Las secuencias se basan en la semilla: srand(::time(NULL) + anna::functions::exclusiveHash(anna::functions::asString("%s:%d|%d", getAddress().c_str(), getPort(), a_socketId)));
+ result->initializeSequences(); // despues de asignar el server y el socketId (sequences are seed-based by mean exclusive hash)
result->a_engine = this;
clientSession_key key = ClientSession::getKey(server->getAddress(), server->getPort(), socketId);
a_clientSessions.insert(clientSession_value_type(key, result));
}
result.erase(result.size() - 1, 1); // remove last space
- //return anna::functions::exclusiveHash(result);
return result;
}
void comm::Engine::readDPA(anna::DataBlock &dpa, const anna::DataBlock & dpr) throw() {
// Check for base protocol codec engine health:
- assertBaseProtocolHealth();
+ try {
+ assertBaseProtocolHealth();
+ }
+ catch(anna::RuntimeException &ex) {
+ ex.trace();
+ return;
+ }
// Default DPA implementation:
//
anna::diameter::codec::Message diameterCEA(getBaseProtocolCodecEngine());
try {
- diameterCEA.loadXML(a_ceaPathfile);
+ diameterCEA.loadXMLFile(a_ceaPathfile);
diameterCEA.setHopByHop(anna::diameter::codec::functions::getHopByHop(cer));
diameterCEA.setEndToEnd(anna::diameter::codec::functions::getEndToEnd(cer));
cea = diameterCEA.code();