cryptonote_core does not depend on p2p anymore

As a followon side effect, this makes a lot of inline code
included only in particular cpp files (and instanciated
when necessary.
This commit is contained in:
moneromooo-monero 2017-11-29 22:53:58 +00:00
parent 38ecd0526e
commit 4abf25f3c9
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
18 changed files with 169 additions and 72 deletions

View file

@ -42,8 +42,10 @@
#include "common/command_line.h"
#include "console_handler.h"
#include "p2p/net_node.h"
#include "p2p/net_node.inl"
//#include "cryptonote_core/cryptonote_core.h"
#include "cryptonote_protocol/cryptonote_protocol_handler.h"
#include "cryptonote_protocol/cryptonote_protocol_handler.inl"
#include "core_proxy.h"
#include "version.h"

View file

@ -467,7 +467,7 @@ inline bool do_replay_events(std::vector<test_event_entry>& events)
// FIXME: make sure that vm has arg_testnet_on set to true or false if
// this test needs for it to be so.
get_test_options<t_test_class> gto;
if (!c.init(vm, &gto.test_options))
if (!c.init(vm, NULL, &gto.test_options))
{
MERROR("Failed to init core");
return false;

View file

@ -31,7 +31,9 @@
#include "gtest/gtest.h"
#include "cryptonote_core/cryptonote_core.h"
#include "p2p/net_node.h"
#include "p2p/net_node.inl"
#include "cryptonote_protocol/cryptonote_protocol_handler.h"
#include "cryptonote_protocol/cryptonote_protocol_handler.inl"
#define MAKE_IPV4_ADDRESS(a,b,c,d) epee::net_utils::ipv4_network_address{MAKE_IP(a,b,c,d),0}
@ -79,6 +81,7 @@ public:
cryptonote::difficulty_type get_block_cumulative_difficulty(uint64_t height) const { return 0; }
bool fluffy_blocks_enabled() const { return false; }
uint64_t prevalidate_block_hashes(uint64_t height, const std::list<crypto::hash> &hashes) { return 0; }
void stop() {}
};
typedef nodetool::node_server<cryptonote::t_cryptonote_protocol_handler<test_core>> Server;
@ -184,3 +187,5 @@ TEST(ban, add)
ASSERT_TRUE(t >= 4);
}
namespace nodetool { template class node_server<cryptonote::t_cryptonote_protocol_handler<test_core>>; }
namespace cryptonote { template class t_cryptonote_protocol_handler<test_core>; }

View file

@ -33,6 +33,10 @@
#include <boost/filesystem.hpp>
#include <boost/program_options.hpp>
#include "p2p/net_node.h"
#include "p2p/net_node.inl"
#include "cryptonote_protocol/cryptonote_protocol_handler.h"
#include "cryptonote_protocol/cryptonote_protocol_handler.inl"
#include "include_base_utils.h"
#include "common/command_line.h"
#include "common/util.h"
@ -42,6 +46,9 @@ namespace po = boost::program_options;
boost::filesystem::path unit_test::data_dir;
namespace nodetool { template class node_server<cryptonote::t_cryptonote_protocol_handler<cryptonote::core>>; }
namespace cryptonote { template class t_cryptonote_protocol_handler<cryptonote::core>; }
int main(int argc, char** argv)
{
tools::on_startup();