Skip to content

Commit e40be3d

Browse files
committed
Use lib-node log, fold fullnode into node_imp, and ren to server_node.
1 parent 28f12c3 commit e40be3d

23 files changed

Lines changed: 171 additions & 286 deletions

Makefile.am

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,14 @@ src_libbitcoin_server_la_SOURCES = \
3939
src/dispatch.cpp \
4040
src/endpoint.cpp \
4141
src/message.cpp \
42-
src/node_impl.cpp \
4342
src/publisher.cpp \
43+
src/server_node.cpp \
4444
src/settings.cpp \
4545
src/subscribe_manager.cpp \
4646
src/worker.cpp \
4747
src/service/blockchain.cpp \
4848
src/service/compat.cpp \
4949
src/service/fetch_x.cpp \
50-
src/service/fullnode.cpp \
5150
src/service/protocol.cpp \
5251
src/service/transaction_pool.cpp
5352

@@ -92,8 +91,8 @@ include_bitcoin_server_HEADERS = \
9291
include/bitcoin/server/dispatch.hpp \
9392
include/bitcoin/server/endpoint.hpp \
9493
include/bitcoin/server/message.hpp \
95-
include/bitcoin/server/node_impl.hpp \
9694
include/bitcoin/server/publisher.hpp \
95+
include/bitcoin/server/server_node.hpp \
9796
include/bitcoin/server/settings.hpp \
9897
include/bitcoin/server/subscribe_manager.hpp \
9998
include/bitcoin/server/version.hpp \
@@ -104,7 +103,6 @@ include_bitcoin_server_service_HEADERS = \
104103
include/bitcoin/server/service/blockchain.hpp \
105104
include/bitcoin/server/service/compat.hpp \
106105
include/bitcoin/server/service/fetch_x.hpp \
107-
include/bitcoin/server/service/fullnode.hpp \
108106
include/bitcoin/server/service/protocol.hpp \
109107
include/bitcoin/server/service/transaction_pool.hpp \
110108
include/bitcoin/server/service/util.hpp

builds/msvc/vs2013/libbitcoin-server/libbitcoin-server.vcxproj

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,12 @@
7575
<ClInclude Include="..\..\..\..\include\bitcoin\server\define.hpp" />
7676
<ClInclude Include="..\..\..\..\include\bitcoin\server\endpoint.hpp" />
7777
<ClInclude Include="..\..\..\..\include\bitcoin\server\message.hpp" />
78-
<ClInclude Include="..\..\..\..\include\bitcoin\server\node_impl.hpp" />
78+
<ClInclude Include="..\..\..\..\include\bitcoin\server\server_node.hpp" />
7979
<ClInclude Include="..\..\..\..\include\bitcoin\server\publisher.hpp" />
8080
<ClInclude Include="..\..\..\..\include\bitcoin\server\dispatch.hpp" />
8181
<ClInclude Include="..\..\..\..\include\bitcoin\server\service\blockchain.hpp" />
8282
<ClInclude Include="..\..\..\..\include\bitcoin\server\service\compat.hpp" />
8383
<ClInclude Include="..\..\..\..\include\bitcoin\server\service\fetch_x.hpp" />
84-
<ClInclude Include="..\..\..\..\include\bitcoin\server\service\fullnode.hpp" />
8584
<ClInclude Include="..\..\..\..\include\bitcoin\server\service\protocol.hpp" />
8685
<ClInclude Include="..\..\..\..\include\bitcoin\server\service\transaction_pool.hpp" />
8786
<ClInclude Include="..\..\..\..\include\bitcoin\server\service\util.hpp" />
@@ -96,13 +95,12 @@
9695
<ClCompile Include="..\..\..\..\src\endpoint.cpp" />
9796
<ClCompile Include="..\..\..\..\src\message.cpp" />
9897
<ClCompile Include="..\..\..\..\src\settings.cpp" />
99-
<ClCompile Include="..\..\..\..\src\node_impl.cpp" />
98+
<ClCompile Include="..\..\..\..\src\server_node.cpp" />
10099
<ClCompile Include="..\..\..\..\src\publisher.cpp" />
101100
<ClCompile Include="..\..\..\..\src\dispatch.cpp" />
102101
<ClCompile Include="..\..\..\..\src\service\blockchain.cpp" />
103102
<ClCompile Include="..\..\..\..\src\service\compat.cpp" />
104103
<ClCompile Include="..\..\..\..\src\service\fetch_x.cpp" />
105-
<ClCompile Include="..\..\..\..\src\service\fullnode.cpp" />
106104
<ClCompile Include="..\..\..\..\src\service\protocol.cpp" />
107105
<ClCompile Include="..\..\..\..\src\service\transaction_pool.cpp" />
108106
<ClCompile Include="..\..\..\..\src\subscribe_manager.cpp" />

builds/msvc/vs2013/libbitcoin-server/libbitcoin-server.vcxproj.filters

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,6 @@
4343
<ClInclude Include="..\..\..\..\include\bitcoin\server\message.hpp">
4444
<Filter>include\bitcoin\server</Filter>
4545
</ClInclude>
46-
<ClInclude Include="..\..\..\..\include\bitcoin\server\node_impl.hpp">
47-
<Filter>include\bitcoin\server</Filter>
48-
</ClInclude>
4946
<ClInclude Include="..\..\..\..\include\bitcoin\server\publisher.hpp">
5047
<Filter>include\bitcoin\server</Filter>
5148
</ClInclude>
@@ -70,15 +67,15 @@
7067
<ClInclude Include="..\..\..\..\include\bitcoin\server\service\fetch_x.hpp">
7168
<Filter>include\bitcoin\server\service</Filter>
7269
</ClInclude>
73-
<ClInclude Include="..\..\..\..\include\bitcoin\server\service\fullnode.hpp">
74-
<Filter>include\bitcoin\server\service</Filter>
75-
</ClInclude>
7670
<ClInclude Include="..\..\..\..\include\bitcoin\server\dispatch.hpp">
7771
<Filter>include\bitcoin\server</Filter>
7872
</ClInclude>
7973
<ClInclude Include="..\..\..\..\include\bitcoin\server\define.hpp">
8074
<Filter>include\bitcoin\server</Filter>
8175
</ClInclude>
76+
<ClInclude Include="..\..\..\..\include\bitcoin\server\server_node.hpp">
77+
<Filter>include\bitcoin\server</Filter>
78+
</ClInclude>
8279
</ItemGroup>
8380
<ItemGroup>
8481
<ClCompile Include="..\..\..\..\src\service\blockchain.cpp">
@@ -87,9 +84,6 @@
8784
<ClCompile Include="..\..\..\..\src\service\fetch_x.cpp">
8885
<Filter>src\service</Filter>
8986
</ClCompile>
90-
<ClCompile Include="..\..\..\..\src\service\fullnode.cpp">
91-
<Filter>src\service</Filter>
92-
</ClCompile>
9387
<ClCompile Include="..\..\..\..\src\service\protocol.cpp">
9488
<Filter>src\service</Filter>
9589
</ClCompile>
@@ -102,9 +96,6 @@
10296
<ClCompile Include="..\..\..\..\src\message.cpp">
10397
<Filter>src</Filter>
10498
</ClCompile>
105-
<ClCompile Include="..\..\..\..\src\node_impl.cpp">
106-
<Filter>src</Filter>
107-
</ClCompile>
10899
<ClCompile Include="..\..\..\..\src\publisher.cpp">
109100
<Filter>src</Filter>
110101
</ClCompile>
@@ -126,6 +117,9 @@
126117
<ClCompile Include="..\..\..\..\src\dispatch.cpp">
127118
<Filter>src</Filter>
128119
</ClCompile>
120+
<ClCompile Include="..\..\..\..\src\server_node.cpp">
121+
<Filter>src</Filter>
122+
</ClCompile>
129123
</ItemGroup>
130124
<ItemGroup>
131125
<ResourceCompile Include="..\..\resource.rc" />

include/bitcoin/server.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,15 @@
2020
#include <bitcoin/server/dispatch.hpp>
2121
#include <bitcoin/server/endpoint.hpp>
2222
#include <bitcoin/server/message.hpp>
23-
#include <bitcoin/server/node_impl.hpp>
2423
#include <bitcoin/server/publisher.hpp>
24+
#include <bitcoin/server/server_node.hpp>
2525
#include <bitcoin/server/settings.hpp>
2626
#include <bitcoin/server/subscribe_manager.hpp>
2727
#include <bitcoin/server/version.hpp>
2828
#include <bitcoin/server/worker.hpp>
2929
#include <bitcoin/server/service/blockchain.hpp>
3030
#include <bitcoin/server/service/compat.hpp>
3131
#include <bitcoin/server/service/fetch_x.hpp>
32-
#include <bitcoin/server/service/fullnode.hpp>
3332
#include <bitcoin/server/service/protocol.hpp>
3433
#include <bitcoin/server/service/transaction_pool.hpp>
3534
#include <bitcoin/server/service/util.hpp>

include/bitcoin/server/config.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/**
22
* Copyright (c) 2011-2015 libbitcoin developers (see AUTHORS)
33
*
44
* This file is part of libbitcoin-server.
@@ -31,7 +31,6 @@ namespace server {
3131

3232
#define LOG_WORKER "worker"
3333
#define LOG_REQUEST "request"
34-
#define LOG_NODE "node"
3534

3635
class config_type;
3736

include/bitcoin/server/publisher.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
#include <czmq++/czmqpp.hpp>
2424
#include <bitcoin/bitcoin.hpp>
25-
#include <bitcoin/server/node_impl.hpp>
25+
#include <bitcoin/server/server_node.hpp>
2626
#include <bitcoin/server/settings.hpp>
2727

2828
namespace libbitcoin {
@@ -31,7 +31,7 @@ namespace server {
3131
class publisher
3232
{
3333
public:
34-
publisher(node_impl& node);
34+
publisher(server_node& node);
3535
bool start(settings_type& config);
3636
bool stop();
3737

@@ -42,7 +42,7 @@ class publisher
4242
void send_blk(uint32_t height, const bc::block_type& blk);
4343
void send_tx(const bc::transaction_type& tx);
4444

45-
node_impl& node_;
45+
server_node& node_;
4646
czmqpp::context context_;
4747
czmqpp::socket socket_block_, socket_tx_;
4848
};
Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/**
22
* Copyright (c) 2011-2015 libbitcoin developers (see AUTHORS)
33
*
44
* This file is part of libbitcoin-server.
@@ -21,21 +21,25 @@
2121
#define LIBBITCOIN_SERVER_NODE_IMPL_HPP
2222

2323
#include <bitcoin/node.hpp>
24+
#include <bitcoin/server/message.hpp>
25+
#include <bitcoin/server/service/util.hpp>
2426
#include <bitcoin/server/settings.hpp>
2527

2628
namespace libbitcoin {
2729
namespace server {
2830

29-
class node_impl
31+
class server_node
32+
/* : full_node */
3033
{
3134
public:
3235
typedef std::function<void (size_t, const bc::block_type&)>
3336
block_notify_callback;
3437
typedef std::function<void (const bc::transaction_type&)>
3538
transaction_notify_callback;
3639

37-
node_impl(settings_type& config);
40+
server_node(settings_type& config);
3841
bool start(settings_type& config);
42+
3943
// Should only be called from the main thread.
4044
// It's an error to join() a thread from inside it.
4145
bool stop();
@@ -52,6 +56,10 @@ class node_impl
5256
// Threadpool for memory related operations.
5357
bc::threadpool& memory_related_threadpool();
5458

59+
// TODO: use existing libbitcoin-node implementation.
60+
static void fullnode_fetch_history(server_node& node,
61+
const incoming_message& request, queue_send_callback queue_send);
62+
5563
private:
5664
typedef std::vector<block_notify_callback> block_notify_list;
5765
typedef std::vector<transaction_notify_callback> transaction_notify_list;
@@ -67,12 +75,11 @@ class node_impl
6775
void recv_transaction(const std::error_code& ec,
6876
const bc::transaction_type& tx, bc::network::channel_ptr node);
6977
// Result of store operation in transaction pool.
70-
void handle_mempool_store(
71-
const std::error_code& ec, const bc::index_list& unconfirmed,
72-
const bc::transaction_type& tx, bc::network::channel_ptr node);
78+
void handle_mempool_store(const std::error_code& ec,
79+
const bc::index_list& unconfirmed, const bc::transaction_type& tx,
80+
bc::network::channel_ptr node);
7381

74-
void reorganize(const std::error_code& ec,
75-
size_t fork_point,
82+
void reorganize(const std::error_code& ec, size_t fork_point,
7683
const bc::chain::blockchain::block_list& new_blocks,
7784
const bc::chain::blockchain::block_list& replaced_blocks);
7885

@@ -99,5 +106,6 @@ class node_impl
99106
} // namespace server
100107
} // namespace libbitcoin
101108

109+
102110
#endif
103111

include/bitcoin/server/service/blockchain.hpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/**
22
* Copyright (c) 2011-2015 libbitcoin developers (see AUTHORS)
33
*
44
* This file is part of libbitcoin-server.
@@ -25,33 +25,33 @@
2525
namespace libbitcoin {
2626
namespace server {
2727

28-
class node_impl;
28+
class server_node;
2929

30-
void blockchain_fetch_history(node_impl& node,
30+
void blockchain_fetch_history(server_node& node,
3131
const incoming_message& request, queue_send_callback queue_send);
3232

33-
void blockchain_fetch_transaction(node_impl& node,
33+
void blockchain_fetch_transaction(server_node& node,
3434
const incoming_message& request, queue_send_callback queue_send);
3535

36-
void blockchain_fetch_last_height(node_impl& node,
36+
void blockchain_fetch_last_height(server_node& node,
3737
const incoming_message& request, queue_send_callback queue_send);
3838

39-
void blockchain_fetch_block_header(node_impl& node,
39+
void blockchain_fetch_block_header(server_node& node,
4040
const incoming_message& request, queue_send_callback queue_send);
4141

42-
void blockchain_fetch_block_transaction_hashes(node_impl& node,
42+
void blockchain_fetch_block_transaction_hashes(server_node& node,
4343
const incoming_message& request, queue_send_callback queue_send);
4444

45-
void blockchain_fetch_transaction_index(node_impl& node,
45+
void blockchain_fetch_transaction_index(server_node& node,
4646
const incoming_message& request, queue_send_callback queue_send);
4747

48-
void blockchain_fetch_spend(node_impl& node,
48+
void blockchain_fetch_spend(server_node& node,
4949
const incoming_message& request, queue_send_callback queue_send);
5050

51-
void blockchain_fetch_block_height(node_impl& node,
51+
void blockchain_fetch_block_height(server_node& node,
5252
const incoming_message& request, queue_send_callback queue_send);
5353

54-
void blockchain_fetch_stealth(node_impl& node,
54+
void blockchain_fetch_stealth(server_node& node,
5555
const incoming_message& request, queue_send_callback queue_send);
5656

5757
} // namespace server

include/bitcoin/server/service/compat.hpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/**
22
* Copyright (c) 2011-2015 libbitcoin developers (see AUTHORS)
33
*
44
* This file is part of libbitcoin-server.
@@ -20,14 +20,15 @@
2020
#ifndef LIBBITCOIN_SERVER_COMPAT_HPP
2121
#define LIBBITCOIN_SERVER_COMPAT_HPP
2222

23+
#include <bitcoin/server/server_node.hpp>
2324
#include <bitcoin/server/service/util.hpp>
2425

2526
namespace libbitcoin {
2627
namespace server {
2728

28-
class node_impl;
29+
class server_node;
2930

30-
void COMPAT_fetch_history(node_impl& node,
31+
void COMPAT_fetch_history(server_node& node,
3132
const incoming_message& request, queue_send_callback queue_send);
3233

3334
} // namespace server

include/bitcoin/server/service/fetch_x.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/**
22
* Copyright (c) 2011-2015 libbitcoin developers (see AUTHORS)
33
*
44
* This file is part of libbitcoin-server.
@@ -20,7 +20,7 @@
2020
#ifndef LIBBITCOIN_SERVER_FETCH_X_HPP
2121
#define LIBBITCOIN_SERVER_FETCH_X_HPP
2222

23-
#include <bitcoin/server/node_impl.hpp>
23+
#include <bitcoin/server/server_node.hpp>
2424
#include <bitcoin/server/service/util.hpp>
2525

2626
namespace libbitcoin {

0 commit comments

Comments
 (0)