24#ifndef GCS_XCOM_STATISTICS_MANAGER_INCLUDED
25#define GCS_XCOM_STATISTICS_MANAGER_INCLUDED
131 unsigned long long new_value) = 0;
141 unsigned long long to_add) = 0;
183 uint64_t to_add)
override;
208 unsigned long long new_value)
override;
214 unsigned long long to_add)
override;
Definition: gcs_xcom_statistics_manager.h:163
virtual ~Gcs_xcom_statistics_manager_interface_impl() override=default
uint64_t get_count_var_value(Gcs_counter_statistics_enum to_get) const override
Definition: gcs_xcom_statistics_manager.cc:37
unsigned long long get_timestamp_var_value(Gcs_time_statistics_enum to_get) const override
Definition: gcs_xcom_statistics_manager.cc:49
std::vector< uint64_t > m_count_statistics
Definition: gcs_xcom_statistics_manager.h:229
void set_sum_timestamp_var_value(Gcs_time_statistics_enum to_set, unsigned long long to_add) override
Definition: gcs_xcom_statistics_manager.cc:59
void set_timestamp_var_value(Gcs_time_statistics_enum to_set, unsigned long long new_value) override
Definition: gcs_xcom_statistics_manager.cc:54
std::vector< unsigned long long > m_time_statistics
Definition: gcs_xcom_statistics_manager.h:230
std::vector< uint64_t > m_sum_statistics
Definition: gcs_xcom_statistics_manager.h:228
uint64_t get_sum_var_value(Gcs_cumulative_statistics_enum to_get) const override
Definition: gcs_xcom_statistics_manager.cc:27
std::map< std::string, uint64_t > m_suspicious_statistics
Definition: gcs_xcom_statistics_manager.h:231
std::vector< Gcs_node_suspicious > get_all_suspicious() const override
Definition: gcs_xcom_statistics_manager.cc:66
void set_count_var_value(Gcs_counter_statistics_enum to_set) override
Definition: gcs_xcom_statistics_manager.cc:42
void set_sum_var_value(Gcs_cumulative_statistics_enum to_set, uint64_t to_add) override
Definition: gcs_xcom_statistics_manager.cc:31
Gcs_xcom_statistics_manager_interface_impl()
Definition: gcs_xcom_statistics_manager.h:165
void add_suspicious_for_a_node(std::string node_id) override
Definition: gcs_xcom_statistics_manager.cc:75
This class is the storage and provider of all statistics coming from either XCom and GCS.
Definition: gcs_xcom_statistics_manager.h:65
virtual void set_sum_timestamp_var_value(Gcs_time_statistics_enum to_set, unsigned long long to_add)=0
Sets the value of a provided timestamp statistic which is of a cumulative nature.
virtual void set_timestamp_var_value(Gcs_time_statistics_enum to_set, unsigned long long new_value)=0
Sets the value of a provided timestamp statistic which is of a certain specific value.
virtual void add_suspicious_for_a_node(std::string node_id)=0
Adds a suspicious count for a provided node.
virtual void set_sum_var_value(Gcs_cumulative_statistics_enum to_set, uint64_t to_add)=0
Sets the value of a provided statistic which is of a cumulative nature.
virtual unsigned long long get_timestamp_var_value(Gcs_time_statistics_enum to_get) const =0
Get the value of a provided statistic which is a timestamp.
Gcs_xcom_statistics_manager_interface()=default
virtual uint64_t get_count_var_value(Gcs_counter_statistics_enum to_get) const =0
Get the value of a provided statistic which is of a discrete growth nature.
virtual std::vector< Gcs_node_suspicious > get_all_suspicious() const =0
Get all suspicious seen by this node.
virtual void set_count_var_value(Gcs_counter_statistics_enum to_set)=0
Sets the value of a provided statistic which is of a discrete growth nature.
virtual ~Gcs_xcom_statistics_manager_interface()=default
virtual uint64_t get_sum_var_value(Gcs_cumulative_statistics_enum to_get) const =0
Get the value of a provided statistic which is of a cumulative nature.
Gcs_counter_statistics_enum
Enumerate that identifies all counter statistics.
Definition: gcs_xcom_statistics_manager.h:35
@ kMessagesSent
Definition: gcs_xcom_statistics_manager.h:39
@ kFullProposalCount
Definition: gcs_xcom_statistics_manager.h:38
@ kEmptyProposalRounds
Definition: gcs_xcom_statistics_manager.h:37
@ kSucessfulProposalRounds
Definition: gcs_xcom_statistics_manager.h:36
@ kGcsCounterStatisticsEnumEnd
Definition: gcs_xcom_statistics_manager.h:40
Gcs_cumulative_statistics_enum
Enumerate that identifies all cumulative statistics.
Definition: gcs_xcom_statistics_manager.h:46
@ kBytesSent
Definition: gcs_xcom_statistics_manager.h:47
@ kMessageBytesReceived
Definition: gcs_xcom_statistics_manager.h:48
@ kGcsCumulativeStatisticsEnumEnd
Definition: gcs_xcom_statistics_manager.h:49
Gcs_time_statistics_enum
Enumerate that identifies all time statistics.
Definition: gcs_xcom_statistics_manager.h:55
@ kLastProposalRoundTime
Definition: gcs_xcom_statistics_manager.h:57
@ kGcsTimeStatisticsEnumEnd
Definition: gcs_xcom_statistics_manager.h:58
@ kCumulativeProposalTime
Definition: gcs_xcom_statistics_manager.h:56