X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=source%2Fdiameter.comm%2FMessage.cpp;h=a07de1a1717cd6293b9fb3afc784d5d901e7f49b;hb=129af2a9a7c287843be5bd443c5b1ad9b08438a8;hp=b8ae7233949a4fa138dc3ac1a729434f55ea3393;hpb=93366a0bda79e6fd6e7dad6316bfcf8cc82f5731;p=anna.git diff --git a/source/diameter.comm/Message.cpp b/source/diameter.comm/Message.cpp index b8ae723..a07de1a 100644 --- a/source/diameter.comm/Message.cpp +++ b/source/diameter.comm/Message.cpp @@ -27,7 +27,7 @@ using namespace anna::diameter::comm; const char* Message::asText(const OnExpiry::_v rc) throw() { - static const char* text [] = { "Abandon", "Ignore" }; + static const char* text [] = { "Abandon", "Ignore", "Retransmit" }; return text [rc]; } @@ -61,7 +61,8 @@ throw() { //// a_onExpiry = OnExpiry::Ignore; //} -bool Message::fixRequestSequence(HopByHop hbh, EndToEnd ete, bool freezeEndToEnd) throw() { + +bool Message::fixRequestSequence(HopByHop hbh, EndToEnd ete) throw() { setRequestHopByHop(getHopByHop()); // original request hop-by-hop (backup) setRequestEndToEnd(getEndToEnd()); // original request end-to-end (backup) bool result = false; @@ -71,7 +72,7 @@ bool Message::fixRequestSequence(HopByHop hbh, EndToEnd ete, bool freezeEndToEnd result = true; } - if(!freezeEndToEnd) { + if(a_endToEndSequenced) { if(ete != getRequestEndToEnd()) { codec::functions::setEndToEnd((anna::DataBlock&)getBody(), ete); result = true; @@ -85,7 +86,7 @@ bool Message::fixRequestSequence(HopByHop hbh, EndToEnd ete, bool freezeEndToEnd msg += " (original) -> "; msg += anna::functions::asString(hbh); msg += " (session)"; - msg += freezeEndToEnd ? " | End to end [freezed]: " : " | End to end: "; + msg += a_endToEndSequenced ? " | End to end: " : " | End to end [end-to-end unchanged]: "; msg += anna::functions::asString(getRequestEndToEnd()); msg += " (original) -> "; msg += anna::functions::asString(ete); @@ -143,6 +144,11 @@ anna::diameter::CommandId Message::getCommandId(bool &isRequest) const throw() { return result; } +anna::diameter::ApplicationId Message::getApplicationId() const throw() { + diameter::ApplicationId result = diameter::codec::functions::getApplicationId(getBody()); + return result; +} + HopByHop Message::getHopByHop() const throw() { return (diameter::codec::functions::getHopByHop(getBody())); }