X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fdiameter%2Flauncher%2FMyDiameterEntity.hpp;h=a9ad2c42f93235bcee29d73b47d5ba38cf1ff486;hb=fad7b1cb36dc9d5de0a7b775fdfb82778a693102;hp=9453d647df25067cc06eb2cf89dbe7fb2710f92f;hpb=84c30c372cf2926a138a6d51a52d56f3b2a63804;p=anna.git diff --git a/example/diameter/launcher/MyDiameterEntity.hpp b/example/diameter/launcher/MyDiameterEntity.hpp index 9453d64..a9ad2c4 100644 --- a/example/diameter/launcher/MyDiameterEntity.hpp +++ b/example/diameter/launcher/MyDiameterEntity.hpp @@ -26,6 +26,8 @@ namespace anna { class MyDiameterEntity : public anna::diameter::comm::Entity { anna::diameter::codec::Engine * a_codecEngine; // for automatic answers (failed-avp), write logs, etc. + bool a_balance; // Balance over entity servers instead of doing standard behaviour (first primary, secondary if fails, etc.). Default: false. + std::string a_sessionBasedModelsType; void eventRequestRetransmission(const anna::diameter::comm::ClientSession *, anna::diameter::comm::Message*) throw(); void eventResponse(const anna::diameter::comm::Response&) throw(anna::RuntimeException); @@ -38,9 +40,21 @@ class MyDiameterEntity : public anna::diameter::comm::Entity { public: + MyDiameterEntity() { + a_codecEngine = NULL; + a_balance = false; + a_sessionBasedModelsType = "SessionIdLowPart"; + } + ProgrammedAnswers a_reactingAnswers; void setCodecEngine(anna::diameter::codec::Engine *codecEngine) throw() { a_codecEngine = codecEngine; a_reactingAnswers.setCodecEngine(codecEngine); } ProgrammedAnswers *getReactingAnswers() throw() { return (ProgrammedAnswers *)&a_reactingAnswers; } + + // Additional configuration parameters: + void setSessionBasedModelsType(const std::string &type) throw() { a_sessionBasedModelsType = type; } + void setBalance(bool balance) throw() { a_balance = balance; } + const std::string & getSessionBasedModelsType() const throw() { return a_sessionBasedModelsType; } + bool getBalance() const throw() { return a_balance; } }; #endif