ANNA Suite  2020b
Multipurpose development suite for Telco applications
MessageStatistics.hpp
Go to the documentation of this file.
1 // ANNA - Anna is Not Nothingness Anymore //
2 // //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
4 // //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
7 
8 
9 #ifndef anna_diameter_comm_MessageStatistics_hpp
10 #define anna_diameter_comm_MessageStatistics_hpp
11 
12 // Standard
13 #include <algorithm>
14 #include <string>
15 #include <map>
16 
17 // Project
20 
21 namespace anna {
22 
23 namespace xml {
24  class Node;
25 }
26 
27 namespace diameter {
28 
29 namespace comm {
30 
31 
32 
34 
35  public:
38 
39  struct ConceptType { enum _v { SentRequestProcessingTime, ReceivedMessageSize }; };
40 
41  void initialize(const std::string &name) noexcept(false);
42  void process(const ConceptType::_v &conceptType, const anna::diameter::CommandId &cid, const double & value) noexcept(false);
43  anna::statistics::Accumulator *getAccumulator() const { return a_accumulator; }
44 
45  private:
46  anna::statistics::Accumulator *a_accumulator;
47  typedef std::pair<anna::diameter::CommandId, ConceptType::_v> ConceptId;
48  typedef std::map<ConceptId, int /* engine concept id */> concepts_map_t;
49  typedef std::map<ConceptId, int /* engine concept id */>::const_iterator concepts_map_it;
50  concepts_map_t a_concepts;
51 };
52 
53 }
54 }
55 }
56 
57 #endif
MessageStatistics()
Definition: MessageStatistics.hpp:36
Definition: MessageStatistics.hpp:39
Definition: MessageStatistics.hpp:33
anna::statistics::Accumulator * getAccumulator() const
Definition: MessageStatistics.hpp:43
xml::Node Node
Definition: Node.hpp:21
Definition: app.hpp:12
Contains statistical sample information.
Definition: Accumulator.hpp:87
~MessageStatistics()
Definition: MessageStatistics.hpp:37
_v
Definition: MessageStatistics.hpp:39
std::pair< U24, bool > CommandId
Definition: defines.hpp:32