diff --git a/CMakeLists.txt b/CMakeLists.txt index 20dd754e..7a6045b0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -175,18 +175,22 @@ add_library (blake2 ${BLAKE2_IMPLEMENTATION}) if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - set (PLATFORM_SECURE_SOURCE rai/plat/osx/working.mm rai/plat/default/priority.cpp) + set (PLATFORM_LIB_SOURCE rai/plat/default/priority.cpp) + set (PLATFORM_SECURE_SOURCE rai/plat/osx/working.mm) set (PLATFORM_WALLET_SOURCE rai/plat/default/icon.cpp) elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows") - set (PLATFORM_SECURE_SOURCE rai/plat/windows/working.cpp rai/plat/windows/priority.cpp) + set (PLATFORM_LIB_SOURCE rai/plat/windows/priority.cpp) + set (PLATFORM_SECURE_SOURCE rai/plat/windows/working.cpp) set (PLATFORM_NODE_SOURCE rai/plat/windows/openclapi.cpp) set (PLATFORM_WALLET_SOURCE rai/plat/windows/icon.cpp RaiBlocks.rc) elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") - set (PLATFORM_SECURE_SOURCE rai/plat/posix/working.cpp rai/plat/linux/priority.cpp) + set (PLATFORM_LIB_SOURCE rai/plat/linux/priority.cpp) + set (PLATFORM_SECURE_SOURCE rai/plat/posix/working.cpp) set (PLATFORM_NODE_SOURCE rai/plat/posix/openclapi.cpp) set (PLATFORM_WALLET_SOURCE rai/plat/default/icon.cpp) elseif (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") - set (PLATFORM_SECURE_SOURCE rai/plat/posix/working.cpp rai/plat/default/priority.cpp) + set (PLATFORM_LIB_SOURCE rai/plat/default/priority.cpp) + set (PLATFORM_SECURE_SOURCE rai/plat/posix/working.cpp) set (PLATFORM_NODE_SOURCE rai/plat/posix/openclapi.cpp) set (PLATFORM_WALLET_SOURCE rai/plat/default/icon.cpp) else () @@ -198,18 +202,23 @@ add_library (secure rai/config.hpp rai/secure.cpp rai/secure.hpp - rai/utility.cpp - rai/utility.hpp + rai/node/utility.cpp + rai/node/utility.hpp rai/versioning.hpp rai/versioning.cpp) add_library (rai_lib SHARED - rai/blocks.cpp - rai/blocks.hpp - rai/interface.cpp - rai/interface.h - rai/numbers.cpp - rai/numbers.hpp) + ${PLATFORM_LIB_SOURCE} + rai/lib/blocks.cpp + rai/lib/blocks.hpp + rai/lib/interface.cpp + rai/lib/interface.h + rai/lib/numbers.cpp + rai/lib/numbers.hpp + rai/lib/utility.cpp + rai/lib/utility.hpp + rai/lib/work.hpp + rai/lib/work.cpp) add_library (node ${PLATFORM_NODE_SOURCE} @@ -227,8 +236,6 @@ add_library (node rai/node/testing.cpp rai/node/wallet.hpp rai/node/wallet.cpp - rai/node/work.hpp - rai/node/work.cpp rai/node/working.hpp rai/node/xorshift.hpp) diff --git a/rai/core_test/block.cpp b/rai/core_test/block.cpp index 65fab6ed..c32ca44a 100644 --- a/rai/core_test/block.cpp +++ b/rai/core_test/block.cpp @@ -4,7 +4,7 @@ #include -#include +#include #include #include diff --git a/rai/core_test/interface.cpp b/rai/core_test/interface.cpp index 499da399..f04735fe 100644 --- a/rai/core_test/interface.cpp +++ b/rai/core_test/interface.cpp @@ -2,9 +2,9 @@ #include -#include -#include -#include +#include +#include +#include TEST (interface, xrb_uint256_to_string) { diff --git a/rai/core_test/uint256_union.cpp b/rai/core_test/uint256_union.cpp index 45ed6df1..eb3f233c 100644 --- a/rai/core_test/uint256_union.cpp +++ b/rai/core_test/uint256_union.cpp @@ -1,6 +1,6 @@ #include -#include +#include #include #include diff --git a/rai/blocks.cpp b/rai/lib/blocks.cpp similarity index 99% rename from rai/blocks.cpp rename to rai/lib/blocks.cpp index 5e96fe36..d9a3112e 100644 --- a/rai/blocks.cpp +++ b/rai/lib/blocks.cpp @@ -1,4 +1,4 @@ -#include +#include std::string rai::to_string_hex (uint64_t value_a) { diff --git a/rai/blocks.hpp b/rai/lib/blocks.hpp similarity index 99% rename from rai/blocks.hpp rename to rai/lib/blocks.hpp index f1c34bb9..9659c380 100644 --- a/rai/blocks.hpp +++ b/rai/lib/blocks.hpp @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include diff --git a/rai/interface.cpp b/rai/lib/interface.cpp similarity index 97% rename from rai/interface.cpp rename to rai/lib/interface.cpp index 6979c966..d966e688 100644 --- a/rai/interface.cpp +++ b/rai/lib/interface.cpp @@ -1,4 +1,4 @@ -#include +#include #include @@ -8,8 +8,8 @@ #include -#include -#include +#include +#include #include diff --git a/rai/interface.h b/rai/lib/interface.h similarity index 100% rename from rai/interface.h rename to rai/lib/interface.h diff --git a/rai/numbers.cpp b/rai/lib/numbers.cpp similarity index 99% rename from rai/numbers.cpp rename to rai/lib/numbers.cpp index ea611323..4fa0866a 100644 --- a/rai/numbers.cpp +++ b/rai/lib/numbers.cpp @@ -1,4 +1,4 @@ -#include +#include #include diff --git a/rai/numbers.hpp b/rai/lib/numbers.hpp similarity index 100% rename from rai/numbers.hpp rename to rai/lib/numbers.hpp diff --git a/rai/lib/utility.cpp b/rai/lib/utility.cpp new file mode 100644 index 00000000..e69de29b diff --git a/rai/lib/utility.hpp b/rai/lib/utility.hpp new file mode 100644 index 00000000..e061807a --- /dev/null +++ b/rai/lib/utility.hpp @@ -0,0 +1,31 @@ +#pragma once + +#include +#include +#include + +namespace rai +{ +// Lower priority of calling work generating thread +void work_thread_reprioritize (); +template +class observer_set +{ +public: + void add (std::function const & observer_a) + { + std::lock_guard lock (mutex); + observers.push_back (observer_a); + } + void operator () (T ... args) + { + std::lock_guard lock (mutex); + for (auto & i: observers) + { + i (args...); + } + } + std::mutex mutex; + std::vector > observers; +}; +} diff --git a/rai/node/work.cpp b/rai/lib/work.cpp similarity index 98% rename from rai/node/work.cpp rename to rai/lib/work.cpp index 4e283d8b..33321c7b 100644 --- a/rai/node/work.cpp +++ b/rai/lib/work.cpp @@ -1,5 +1,6 @@ -#include +#include +#include #include #include diff --git a/rai/node/work.hpp b/rai/lib/work.hpp similarity index 94% rename from rai/node/work.hpp rename to rai/lib/work.hpp index c607b2b2..ee98a407 100644 --- a/rai/node/work.hpp +++ b/rai/lib/work.hpp @@ -1,8 +1,9 @@ #pragma once #include -#include -#include +#include +#include +#include #include #include @@ -10,10 +11,10 @@ namespace rai { +class block; bool work_validate (rai::block_hash const &, uint64_t); bool work_validate (rai::block const &); uint64_t work_value (rai::block_hash const &, uint64_t); -class block; class opencl_work; class work_pool { diff --git a/rai/node/common.cpp b/rai/node/common.cpp index 7cfe933a..142aa736 100644 --- a/rai/node/common.cpp +++ b/rai/node/common.cpp @@ -1,7 +1,7 @@ #include #include -#include +#include std::array constexpr rai::message::magic_number; size_t constexpr rai::message::ipv4_only_position; diff --git a/rai/node/common.hpp b/rai/node/common.hpp index 28da3e7f..ef213907 100644 --- a/rai/node/common.hpp +++ b/rai/node/common.hpp @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include @@ -221,24 +221,4 @@ public: virtual void bulk_push (rai::bulk_push const &) = 0; virtual void frontier_req (rai::frontier_req const &) = 0; }; -template -class observer_set -{ -public: - void add (std::function const & observer_a) - { - std::lock_guard lock (mutex); - observers.push_back (observer_a); - } - void operator () (T ... args) - { - std::lock_guard lock (mutex); - for (auto & i: observers) - { - i (args...); - } - } - std::mutex mutex; - std::vector > observers; -}; } diff --git a/rai/node/node.cpp b/rai/node/node.cpp index fa111816..82fae272 100755 --- a/rai/node/node.cpp +++ b/rai/node/node.cpp @@ -1,6 +1,6 @@ #include -#include +#include #include #include diff --git a/rai/node/node.hpp b/rai/node/node.hpp index b440db86..f1f1d40e 100644 --- a/rai/node/node.hpp +++ b/rai/node/node.hpp @@ -1,8 +1,8 @@ #pragma once +#include #include #include -#include #include #include diff --git a/rai/node/openclwork.cpp b/rai/node/openclwork.cpp index 5c6454d3..c76b7e59 100644 --- a/rai/node/openclwork.cpp +++ b/rai/node/openclwork.cpp @@ -1,6 +1,6 @@ #include -#include +#include #include #include diff --git a/rai/node/rpc.cpp b/rai/node/rpc.cpp index 693a6b81..6e92878f 100755 --- a/rai/node/rpc.cpp +++ b/rai/node/rpc.cpp @@ -2,7 +2,7 @@ #include -#include +#include #include #include diff --git a/rai/node/rpc.hpp b/rai/node/rpc.hpp index 1b254ccc..525352d7 100644 --- a/rai/node/rpc.hpp +++ b/rai/node/rpc.hpp @@ -1,6 +1,6 @@ #pragma once -#include +#include //#include //#include diff --git a/rai/utility.cpp b/rai/node/utility.cpp similarity index 97% rename from rai/utility.cpp rename to rai/node/utility.cpp index 371b2482..30489f1e 100644 --- a/rai/utility.cpp +++ b/rai/node/utility.cpp @@ -1,6 +1,6 @@ -#include +#include -#include +#include #include diff --git a/rai/utility.hpp b/rai/node/utility.hpp similarity index 96% rename from rai/utility.hpp rename to rai/node/utility.hpp index 4d9e746a..5720e5ad 100755 --- a/rai/utility.hpp +++ b/rai/node/utility.hpp @@ -15,8 +15,8 @@ #include #include -#include -#include +#include +#include namespace rai { @@ -26,8 +26,6 @@ using vectorstream = boost::iostreams::stream_buffer -#include +#include #include #include diff --git a/rai/plat/default/priority.cpp b/rai/plat/default/priority.cpp index 5868ec42..5ab8df31 100644 --- a/rai/plat/default/priority.cpp +++ b/rai/plat/default/priority.cpp @@ -1,5 +1,5 @@ -#include +#include void rai::work_thread_reprioritize () { -} \ No newline at end of file +} diff --git a/rai/secure.cpp b/rai/secure.cpp index 9dd44a8b..3c364e07 100755 --- a/rai/secure.cpp +++ b/rai/secure.cpp @@ -1,6 +1,6 @@ #include -#include +#include #include #include diff --git a/rai/secure.hpp b/rai/secure.hpp index 724fe1e0..ae7ebddd 100644 --- a/rai/secure.hpp +++ b/rai/secure.hpp @@ -1,7 +1,7 @@ #pragma once -#include -#include +#include +#include #include diff --git a/rai/versioning.hpp b/rai/versioning.hpp index 33bc5ef0..a3be6499 100644 --- a/rai/versioning.hpp +++ b/rai/versioning.hpp @@ -1,7 +1,7 @@ #pragma once -#include -#include +#include +#include namespace rai {