Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use 'magic_enum' library for static reflection for enums #4065

Merged
merged 6 commits into from
Jan 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,6 @@
[submodule "boost"]
path = submodules/boost
url = https://github.com/boostorg/boost.git
[submodule "magic_enum"]
path = submodules/magic_enum
url = https://github.com/Neargye/magic_enum.git
4 changes: 4 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -496,6 +496,10 @@ set(FAIL_ON_WARNINGS
add_subdirectory(submodules/rocksdb EXCLUDE_FROM_ALL)

include_directories(cpptoml/include)

# magic_enum
include_directories(submodules/magic_enum/include)

add_subdirectory(crypto/ed25519-donna)

add_subdirectory(nano/ipc_flatbuffers_lib)
Expand Down
24 changes: 12 additions & 12 deletions nano/core_test/block_store.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -346,7 +346,7 @@ TEST (block_store, pending_iterator_comparison)
nano::logger_mt logger;
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
auto transaction (store->tx_begin_write ());
// Populate pending
store->pending.put (transaction, nano::pending_key (nano::account (3), nano::block_hash (1)), nano::pending_info (nano::account (10), nano::amount (1), nano::epoch::epoch_0));
Expand Down Expand Up @@ -853,7 +853,7 @@ namespace lmdb
nano::logger_mt logger;
{
nano::lmdb::store store (logger, path, nano::dev::constants);
nano::stat stats;
nano::stats stats;
nano::ledger ledger (store, stats, nano::dev::constants);
auto transaction (store.tx_begin_write ());
store.initialize (transaction, ledger.cache, nano::dev::constants);
Expand All @@ -871,7 +871,7 @@ namespace lmdb
// Now try with the minimum version
{
nano::lmdb::store store (logger, path1, nano::dev::constants);
nano::stat stats;
nano::stats stats;
nano::ledger ledger (store, stats, nano::dev::constants);
auto transaction (store.tx_begin_write ());
store.initialize (transaction, ledger.cache, nano::dev::constants);
Expand Down Expand Up @@ -1271,8 +1271,8 @@ TEST (mdb_block_store, sideband_height)
nano::keypair key3;
nano::lmdb::store store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_FALSE (store.init_error ());
nano::stat stat;
nano::ledger ledger (store, stat, nano::dev::constants);
nano::stats stats;
nano::ledger ledger (store, stats, nano::dev::constants);
nano::block_builder builder;
auto transaction (store.tx_begin_write ());
store.initialize (transaction, ledger.cache, nano::dev::constants);
Expand Down Expand Up @@ -1673,7 +1673,7 @@ namespace lmdb
{
nano::logger_mt logger;
nano::lmdb::store store (logger, path, nano::dev::constants);
nano::stat stats;
nano::stats stats;
nano::ledger ledger (store, stats, nano::dev::constants);
auto transaction (store.tx_begin_write ());
store.initialize (transaction, ledger.cache, nano::dev::constants);
Expand Down Expand Up @@ -1806,7 +1806,7 @@ namespace lmdb
{
nano::logger_mt logger;
nano::lmdb::store store (logger, path, nano::dev::constants);
nano::stat stats;
nano::stats stats;
nano::ledger ledger (store, stats, nano::dev::constants);
auto transaction (store.tx_begin_write ());
store.initialize (transaction, ledger.cache, nano::dev::constants);
Expand Down Expand Up @@ -1887,7 +1887,7 @@ namespace lmdb
{
nano::logger_mt logger;
nano::lmdb::store store (logger, path, nano::dev::constants);
nano::stat stats;
nano::stats stats;
nano::ledger ledger (store, stats, nano::dev::constants);
auto transaction (store.tx_begin_write ());
store.initialize (transaction, ledger.cache, nano::dev::constants);
Expand Down Expand Up @@ -2066,7 +2066,7 @@ namespace lmdb
nano::logger_mt logger;
nano::lmdb::store store (logger, path, nano::dev::constants);
auto transaction (store.tx_begin_write ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (store, stats, nano::dev::constants);
store.initialize (transaction, ledger.cache, nano::dev::constants);
ASSERT_EQ (nano::process_result::progress, ledger.process (transaction, *send_zero).code);
Expand Down Expand Up @@ -2306,7 +2306,7 @@ namespace lmdb
{
nano::logger_mt logger;
nano::lmdb::store store (logger, path, nano::dev::constants);
nano::stat stats;
nano::stats stats;
nano::ledger ledger (store, stats, nano::dev::constants);
auto transaction (store.tx_begin_write ());
store.initialize (transaction, ledger.cache, nano::dev::constants);
Expand Down Expand Up @@ -2386,7 +2386,7 @@ namespace lmdb
}
auto path (nano::unique_path ());
nano::logger_mt logger;
nano::stat stats;
nano::stats stats;
{
nano::lmdb::store store (logger, path, nano::dev::constants);
nano::ledger ledger (store, stats, nano::dev::constants);
Expand Down Expand Up @@ -2415,7 +2415,7 @@ namespace lmdb
}
auto path (nano::unique_path ());
nano::logger_mt logger;
nano::stat stats;
nano::stats stats;
{
nano::lmdb::store store (logger, path, nano::dev::constants);
nano::ledger ledger (store, stats, nano::dev::constants);
Expand Down
10 changes: 5 additions & 5 deletions nano/core_test/confirmation_height.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1208,7 +1208,7 @@ TEST (confirmation_heightDeathTest, rollback_added_block)
auto path (nano::unique_path ());
auto store = nano::make_store (logger, path, nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
nano::write_database_queue write_database_queue (false);
nano::work_pool pool{ nano::dev::network_params.network, std::numeric_limits<unsigned>::max () };
Expand Down Expand Up @@ -1300,7 +1300,7 @@ TEST (confirmation_heightDeathTest, modified_chain)
auto path (nano::unique_path ());
auto store = nano::make_store (logger, path, nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
nano::write_database_queue write_database_queue (false);
nano::work_pool pool{ nano::dev::network_params.network, std::numeric_limits<unsigned>::max () };
Expand Down Expand Up @@ -1378,7 +1378,7 @@ TEST (confirmation_heightDeathTest, modified_chain_account_removed)
auto path (nano::unique_path ());
auto store = nano::make_store (logger, path, nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
nano::write_database_queue write_database_queue (false);
nano::work_pool pool{ nano::dev::network_params.network, std::numeric_limits<unsigned>::max () };
Expand Down Expand Up @@ -2093,7 +2093,7 @@ TEST (confirmation_height, unbounded_block_cache_iteration)
auto path (nano::unique_path ());
auto store = nano::make_store (logger, path, nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
nano::write_database_queue write_database_queue (false);
boost::latch initialized_latch{ 0 };
Expand Down Expand Up @@ -2158,7 +2158,7 @@ TEST (confirmation_height, pruned_source)
auto path (nano::unique_path ());
auto store = nano::make_store (logger, path, nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
ledger.pruning = true;
nano::write_database_queue write_database_queue (false);
Expand Down
24 changes: 12 additions & 12 deletions nano/core_test/ledger.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -820,7 +820,7 @@ TEST (ledger, double_open)
nano::logger_mt logger;
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
auto transaction (store->tx_begin_write ());
store->initialize (transaction, ledger.cache, ledger.constants);
Expand Down Expand Up @@ -4108,7 +4108,7 @@ TEST (ledger, could_fit)
nano::logger_mt logger;
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
auto transaction (store->tx_begin_write ());
store->initialize (transaction, ledger.cache, ledger.constants);
Expand Down Expand Up @@ -4745,7 +4745,7 @@ TEST (ledger, dependents_confirmed_pruning)
nano::logger_mt logger;
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_FALSE (store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
ledger.pruning = true;
auto transaction (store->tx_begin_write ());
Expand Down Expand Up @@ -4935,7 +4935,7 @@ TEST (ledger, pruning_action)
nano::logger_mt logger;
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
ledger.pruning = true;
auto transaction (store->tx_begin_write ());
Expand Down Expand Up @@ -5019,7 +5019,7 @@ TEST (ledger, pruning_large_chain)
nano::logger_mt logger;
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
ledger.pruning = true;
auto transaction (store->tx_begin_write ());
Expand Down Expand Up @@ -5074,7 +5074,7 @@ TEST (ledger, pruning_source_rollback)
nano::logger_mt logger;
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
ledger.pruning = true;
auto transaction (store->tx_begin_write ());
Expand Down Expand Up @@ -5162,7 +5162,7 @@ TEST (ledger, pruning_source_rollback_legacy)
nano::logger_mt logger;
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
ledger.pruning = true;
auto transaction (store->tx_begin_write ());
Expand Down Expand Up @@ -5275,7 +5275,7 @@ TEST (ledger, pruning_process_error)
nano::logger_mt logger;
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
ledger.pruning = true;
auto transaction (store->tx_begin_write ());
Expand Down Expand Up @@ -5322,7 +5322,7 @@ TEST (ledger, pruning_legacy_blocks)
nano::logger_mt logger;
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
ledger.pruning = true;
nano::keypair key1;
Expand Down Expand Up @@ -5408,7 +5408,7 @@ TEST (ledger, pruning_safe_functions)
nano::logger_mt logger;
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
ledger.pruning = true;
auto transaction (store->tx_begin_write ());
Expand Down Expand Up @@ -5469,7 +5469,7 @@ TEST (ledger, hash_root_random)
nano::logger_mt logger;
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_TRUE (!store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
ledger.pruning = true;
auto transaction (store->tx_begin_write ());
Expand Down Expand Up @@ -5534,7 +5534,7 @@ TEST (ledger, migrate_lmdb_to_rocksdb)
uint16_t port = 100;
nano::lmdb::store store{ logger, path / "data.ldb", nano::dev::constants };
nano::unchecked_map unchecked{ store, false };
nano::stat stats{};
nano::stats stats{};
nano::ledger ledger{ store, stats, nano::dev::constants };
nano::work_pool pool{ nano::dev::network_params.network, std::numeric_limits<unsigned>::max () };

Expand Down
14 changes: 7 additions & 7 deletions nano/core_test/network.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -745,7 +745,7 @@ TEST (node, port_mapping)

TEST (message_buffer_manager, one_buffer)
{
nano::stat stats;
nano::stats stats;
nano::message_buffer_manager buffer (stats, 512, 1);
auto buffer1 (buffer.allocate ());
ASSERT_NE (nullptr, buffer1);
Expand All @@ -759,7 +759,7 @@ TEST (message_buffer_manager, one_buffer)

TEST (message_buffer_manager, two_buffers)
{
nano::stat stats;
nano::stats stats;
nano::message_buffer_manager buffer (stats, 512, 2);
auto buffer1 (buffer.allocate ());
ASSERT_NE (nullptr, buffer1);
Expand All @@ -782,7 +782,7 @@ TEST (message_buffer_manager, two_buffers)

TEST (message_buffer_manager, one_overflow)
{
nano::stat stats;
nano::stats stats;
nano::message_buffer_manager buffer (stats, 512, 1);
auto buffer1 (buffer.allocate ());
ASSERT_NE (nullptr, buffer1);
Expand All @@ -793,7 +793,7 @@ TEST (message_buffer_manager, one_overflow)

TEST (message_buffer_manager, two_overflow)
{
nano::stat stats;
nano::stats stats;
nano::message_buffer_manager buffer (stats, 512, 2);
auto buffer1 (buffer.allocate ());
ASSERT_NE (nullptr, buffer1);
Expand All @@ -810,7 +810,7 @@ TEST (message_buffer_manager, two_overflow)

TEST (message_buffer_manager, one_buffer_multithreaded)
{
nano::stat stats;
nano::stats stats;
nano::message_buffer_manager buffer (stats, 512, 1);
boost::thread thread ([&buffer] () {
auto done (false);
Expand All @@ -835,7 +835,7 @@ TEST (message_buffer_manager, one_buffer_multithreaded)

TEST (message_buffer_manager, many_buffers_multithreaded)
{
nano::stat stats;
nano::stats stats;
nano::message_buffer_manager buffer (stats, 512, 16);
std::vector<boost::thread> threads;
for (auto i (0); i < 4; ++i)
Expand Down Expand Up @@ -883,7 +883,7 @@ TEST (message_buffer_manager, many_buffers_multithreaded)

TEST (message_buffer_manager, stats)
{
nano::stat stats;
nano::stats stats;
nano::message_buffer_manager buffer (stats, 512, 1);
auto buffer1 (buffer.allocate ());
buffer.enqueue (buffer1);
Expand Down
4 changes: 2 additions & 2 deletions nano/core_test/processor_service.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ TEST (processor_service, bad_send_signature)
nano::logger_mt logger;
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_FALSE (store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
auto transaction (store->tx_begin_write ());
store->initialize (transaction, ledger.cache, ledger.constants);
Expand All @@ -38,7 +38,7 @@ TEST (processor_service, bad_receive_signature)
nano::logger_mt logger;
auto store = nano::make_store (logger, nano::unique_path (), nano::dev::constants);
ASSERT_FALSE (store->init_error ());
nano::stat stats;
nano::stats stats;
nano::ledger ledger (*store, stats, nano::dev::constants);
auto transaction (store->tx_begin_write ());
store->initialize (transaction, ledger.cache, ledger.constants);
Expand Down
Loading