aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/epee/include/math_helper.h205
-rw-r--r--contrib/epee/include/string_tools.h1
-rw-r--r--contrib/epee/src/string_tools.cpp10
-rw-r--r--src/blockchain_utilities/blockchain_stats.cpp1
-rw-r--r--src/cryptonote_basic/miner.cpp1
-rw-r--r--src/cryptonote_protocol/cryptonote_protocol_handler.h1
-rw-r--r--src/p2p/net_node.inl1
-rw-r--r--src/wallet/wallet_rpc_server.h1
8 files changed, 9 insertions, 212 deletions
diff --git a/contrib/epee/include/math_helper.h b/contrib/epee/include/math_helper.h
index 6a759b515..00d695179 100644
--- a/contrib/epee/include/math_helper.h
+++ b/contrib/epee/include/math_helper.h
@@ -24,213 +24,20 @@
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
-
-
-
#pragma once
+#include <cstdint> // uint64_t
-#include <list>
-#include <numeric>
-#include <random>
-#include <boost/timer/timer.hpp>
-#include <boost/uuid/uuid.hpp>
-#include <boost/uuid/random_generator.hpp>
-
-#include "syncobj.h"
-#include "time_helper.h"
+#ifdef _WIN32
+#include <sysinfoapi.h> // GetSystemTimeAsFileTime
+#else
+#include <sys/time.h> // gettimeofday
+#endif
namespace epee
{
namespace math_helper
{
-
- template<typename val, int default_base>
- class average
- {
- public:
-
- average()
- {
- m_base = default_base;
- m_last_avg_val = 0;
- }
-
- bool set_base()
- {
- CRITICAL_REGION_LOCAL(m_lock);
-
- m_base = default_base;
- if(m_list.size() > m_base)
- m_list.resize(m_base);
-
- return true;
- }
-
- typedef val value_type;
-
- void push(const value_type& vl)
- {
- CRITICAL_REGION_LOCAL(m_lock);
-
-//#ifndef DEBUG_STUB
- m_list.push_back(vl);
- if(m_list.size() > m_base )
- m_list.pop_front();
-//#endif
- }
-
- double update(const value_type& vl)
- {
- CRITICAL_REGION_LOCAL(m_lock);
-//#ifndef DEBUG_STUB
- push(vl);
-//#endif
-
- return get_avg();
- }
-
- double get_avg()
- {
- CRITICAL_REGION_LOCAL(m_lock);
-
- value_type vl = std::accumulate(m_list.begin(), m_list.end(), value_type(0));
- if(m_list.size())
- return m_last_avg_val = (double)(vl/m_list.size());
-
- return m_last_avg_val = (double)vl;
- }
-
- value_type get_last_val()
- {
- CRITICAL_REGION_LOCAL(m_lock);
- if(m_list.size())
- return m_list.back();
-
- return 0;
- }
-
- private:
- unsigned int m_base;
- double m_last_avg_val;
- std::list<value_type> m_list;
- critical_section m_lock;
- };
-
-
-#ifdef WINDOWS_PLATFORM
-
- /************************************************************************/
- /* */
- /************************************************************************/
- class timing_guard_base
- {
- public:
- virtual ~timing_guard_base(){};
- };
-
- template<class T>
- class timing_guard: public timing_guard_base
- {
- public:
- timing_guard(T& avrg):m_avrg(avrg)
- {
- m_start_ticks = ::GetTickCount();
- }
-
- ~timing_guard()
- {
- m_avrg.push(::GetTickCount()-m_start_ticks);
- }
-
- private:
- T& m_avrg;
- DWORD m_start_ticks;
- };
-
- template<class t_timing>
- timing_guard_base* create_timing_guard(t_timing& timing){return new timing_guard<t_timing>(timing);}
-
-#define BEGIN_TIMING_ZONE(timing_var) { boost::shared_ptr<math_helper::timing_guard_base> local_timing_guard_ptr(math_helper::create_timing_guard(timing_var));
-#define END_TIMING_ZONE() }
-#endif
-
-//#ifdef WINDOWS_PLATFORM_EX
- template<uint64_t default_time_window>
- class speed
- {
- public:
-
- speed()
- {
- m_time_window = default_time_window;
- m_last_speed_value = 0;
- }
- bool chick()
- {
-#ifndef DEBUG_STUB
- uint64_t ticks = misc_utils::get_tick_count();
- CRITICAL_REGION_BEGIN(m_lock);
- m_chicks.push_back(ticks);
- CRITICAL_REGION_END();
- //flush(ticks);
-#endif
- return true;
- }
-
- bool chick(size_t count)
- {
- for(size_t s = 0; s != count; s++)
- chick();
-
- return true;
- }
-
-
- size_t get_speed()
- {
- flush(misc_utils::get_tick_count());
- return m_last_speed_value = m_chicks.size();
- }
- private:
-
- bool flush(uint64_t ticks)
- {
- CRITICAL_REGION_BEGIN(m_lock);
- std::list<uint64_t>::iterator it = m_chicks.begin();
- while(it != m_chicks.end())
- {
- if(*it + m_time_window < ticks)
- m_chicks.erase(it++);
- else
- break;
- }
- CRITICAL_REGION_END();
- return true;
- }
-
- std::list<uint64_t> m_chicks;
- uint64_t m_time_window;
- size_t m_last_speed_value;
- critical_section m_lock;
- };
-//#endif
-
- template<class tlist>
- void randomize_list(tlist& t_list)
- {
- for(typename tlist::iterator it = t_list.begin();it!=t_list.end();it++)
- {
- size_t offset = rand()%t_list.size();
- typename tlist::iterator it_2 = t_list.begin();
- for(size_t local_offset = 0;local_offset!=offset;local_offset++)
- it_2++;
- if(it_2 == it)
- continue;
- std::swap(*it_2, *it);
- }
-
- }
template<typename get_interval, bool start_immediate = true>
class once_a_time
{
diff --git a/contrib/epee/include/string_tools.h b/contrib/epee/include/string_tools.h
index dbbe1906e..7fcd02726 100644
--- a/contrib/epee/include/string_tools.h
+++ b/contrib/epee/include/string_tools.h
@@ -127,7 +127,6 @@ namespace string_tools
return s;
}
- bool validate_hex(uint64_t length, const std::string& str);
std::string get_extension(const std::string& str);
std::string cut_off_extension(const std::string& str);
diff --git a/contrib/epee/src/string_tools.cpp b/contrib/epee/src/string_tools.cpp
index 984a151b5..3abb83c74 100644
--- a/contrib/epee/src/string_tools.cpp
+++ b/contrib/epee/src/string_tools.cpp
@@ -82,16 +82,6 @@ namespace string_tools
return true;
}
//----------------------------------------------------------------------------
- bool validate_hex(uint64_t length, const std::string& str)
- {
- if (str.size() != length)
- return false;
- for (char c: str)
- if (!isxdigit(c))
- return false;
- return true;
- }
- //----------------------------------------------------------------------------
bool parse_peer_from_string(uint32_t& ip, uint16_t& port, const std::string& addres)
{
//parse ip and address
diff --git a/src/blockchain_utilities/blockchain_stats.cpp b/src/blockchain_utilities/blockchain_stats.cpp
index f65054fc5..f0a8e5adc 100644
--- a/src/blockchain_utilities/blockchain_stats.cpp
+++ b/src/blockchain_utilities/blockchain_stats.cpp
@@ -33,6 +33,7 @@
#include "cryptonote_basic/cryptonote_boost_serialization.h"
#include "cryptonote_core/cryptonote_core.h"
#include "blockchain_db/blockchain_db.h"
+#include "time_helper.h"
#include "version.h"
#undef MONERO_DEFAULT_LOG_CATEGORY
diff --git a/src/cryptonote_basic/miner.cpp b/src/cryptonote_basic/miner.cpp
index 91ee86d60..4b0e43213 100644
--- a/src/cryptonote_basic/miner.cpp
+++ b/src/cryptonote_basic/miner.cpp
@@ -42,6 +42,7 @@
#include "string_coding.h"
#include "string_tools.h"
#include "storages/portable_storage_template_helper.h"
+#include "time_helper.h"
#include "boost/logic/tribool.hpp"
#include <boost/filesystem.hpp>
diff --git a/src/cryptonote_protocol/cryptonote_protocol_handler.h b/src/cryptonote_protocol/cryptonote_protocol_handler.h
index a29ee8287..80582fad2 100644
--- a/src/cryptonote_protocol/cryptonote_protocol_handler.h
+++ b/src/cryptonote_protocol/cryptonote_protocol_handler.h
@@ -39,6 +39,7 @@
#include "byte_slice.h"
#include "math_helper.h"
+#include "syncobj.h"
#include "storages/levin_abstract_invoke2.h"
#include "warnings.h"
#include "cryptonote_protocol_defs.h"
diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl
index 4f77ce834..815c1b354 100644
--- a/src/p2p/net_node.inl
+++ b/src/p2p/net_node.inl
@@ -51,7 +51,6 @@
#include "common/dns_utils.h"
#include "common/pruning.h"
#include "net/error.h"
-#include "math_helper.h"
#include "misc_log_ex.h"
#include "p2p_protocol_defs.h"
#include "crypto/crypto.h"
diff --git a/src/wallet/wallet_rpc_server.h b/src/wallet/wallet_rpc_server.h
index 282035052..97fc0a278 100644
--- a/src/wallet/wallet_rpc_server.h
+++ b/src/wallet/wallet_rpc_server.h
@@ -35,7 +35,6 @@
#include <string>
#include "common/util.h"
#include "net/http_server_impl_base.h"
-#include "math_helper.h"
#include "wallet_rpc_server_commands_defs.h"
#include "wallet2.h"