From 2142bc4d083228aac05a88ba1fcf0568ce54c101 Mon Sep 17 00:00:00 2001 From: Anzhy Cherrnyavski Date: Thu, 14 Feb 2019 15:46:09 +0300 Subject: [PATCH] Fixed issue-11 --- .../include/sidechain/network/sidechain_net_manager.hpp | 4 +++- libraries/sidechain/network/sidechain_net_manager.cpp | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/libraries/sidechain/network/include/sidechain/network/sidechain_net_manager.hpp b/libraries/sidechain/network/include/sidechain/network/sidechain_net_manager.hpp index 2fa9e080..16c524c7 100644 --- a/libraries/sidechain/network/include/sidechain/network/sidechain_net_manager.hpp +++ b/libraries/sidechain/network/include/sidechain/network/sidechain_net_manager.hpp @@ -16,6 +16,8 @@ public: sidechain_net_manager( graphene::chain::database* _db, std::string _ip, uint32_t _zmq, uint32_t _rpc, std::string _user, std::string _password ); + ~sidechain_net_manager() { db = nullptr; } + void initialize_manager( graphene::chain::database* _db, std::string _ip, uint32_t _zmq, uint32_t _rpc, std::string _user, std::string _password ); @@ -43,7 +45,7 @@ private: std::unique_ptr listener; std::unique_ptr bitcoin_client; - std::unique_ptr db; + graphene::chain::database* db; }; diff --git a/libraries/sidechain/network/sidechain_net_manager.cpp b/libraries/sidechain/network/sidechain_net_manager.cpp index 1b68c877..0deb5960 100644 --- a/libraries/sidechain/network/sidechain_net_manager.cpp +++ b/libraries/sidechain/network/sidechain_net_manager.cpp @@ -23,10 +23,6 @@ sidechain_net_manager::sidechain_net_manager( graphene::chain::database* _db, st void sidechain_net_manager::initialize_manager( graphene::chain::database* _db, std::string _ip, uint32_t _zmq, uint32_t _rpc, std::string _user, std::string _password ) { - listener = std::unique_ptr( new zmq_listener( _ip, _zmq ) ); - bitcoin_client = std::unique_ptr( new bitcoin_rpc_client( _ip, _rpc, _user, _password ) ); - db = std::unique_ptr( _db ); - fc::http::connection conn; try { conn.connect_to( fc::ip::endpoint( fc::ip::address( _ip ), _rpc ) ); @@ -35,6 +31,10 @@ void sidechain_net_manager::initialize_manager( graphene::chain::database* _db, FC_ASSERT( false ); } + listener = std::unique_ptr( new zmq_listener( _ip, _zmq ) ); + bitcoin_client = std::unique_ptr( new bitcoin_rpc_client( _ip, _rpc, _user, _password ) ); + db = _db; + listener->block_received.connect([this]( const std::string& block_hash ) { std::thread( &sidechain_net_manager::handle_block, this, block_hash ).detach(); } );