@@ -30,11 +30,11 @@ namespace network {
3030
3131#define SUBSCRIBER (name ) name##_subscriber_
3232#define SUBSCRIBER_TYPE (name ) name##_subscriber
33- #define DECLARE_SUBSCRIBER (name ) SUBSCRIBER_TYPE( name) SUBSCRIBER(name)
34- #define DEFINE_SUBSCRIBER (name ) using SUBSCRIBER_TYPE (name) = \
35- unsubscriber<const messages::peer::name::cptr&>
36- # define SUBSCRIBER_OVERLOAD (name ) inline code do_subscribe ( \
37- distributor_peer::handler<messages::peer:: name> && handler) NOEXCEPT \
33+ #define HANDLER (name ) distributor_peer::handler<messages::peer:: name>
34+ #define DECLARE_SUBSCRIBER (name ) \
35+ using SUBSCRIBER_TYPE (name) = unsubscriber<const messages::peer::name::cptr&>; \
36+ SUBSCRIBER_TYPE (name) SUBSCRIBER(name); \
37+ inline code do_subscribe (HANDLER( name) && handler) NOEXCEPT \
3838 { return SUBSCRIBER (name).subscribe (std::forward< \
3939 distributor_peer::handler<messages::peer::name>>(handler)); }
4040
@@ -49,42 +49,6 @@ class BCT_API distributor_peer
4949
5050 DELETE_COPY_MOVE_DESTRUCT (distributor_peer);
5151
52- DEFINE_SUBSCRIBER (address);
53- DEFINE_SUBSCRIBER (alert);
54- DEFINE_SUBSCRIBER (block);
55- DEFINE_SUBSCRIBER (bloom_filter_add);
56- DEFINE_SUBSCRIBER (bloom_filter_clear);
57- DEFINE_SUBSCRIBER (bloom_filter_load);
58- DEFINE_SUBSCRIBER (client_filter);
59- DEFINE_SUBSCRIBER (client_filter_checkpoint);
60- DEFINE_SUBSCRIBER (client_filter_headers);
61- DEFINE_SUBSCRIBER (compact_block);
62- DEFINE_SUBSCRIBER (compact_transactions);
63- DEFINE_SUBSCRIBER (fee_filter);
64- DEFINE_SUBSCRIBER (get_address);
65- DEFINE_SUBSCRIBER (get_blocks);
66- DEFINE_SUBSCRIBER (get_client_filter_checkpoint);
67- DEFINE_SUBSCRIBER (get_client_filter_headers);
68- DEFINE_SUBSCRIBER (get_client_filters);
69- DEFINE_SUBSCRIBER (get_compact_transactions);
70- DEFINE_SUBSCRIBER (get_data);
71- DEFINE_SUBSCRIBER (get_headers);
72- DEFINE_SUBSCRIBER (headers);
73- DEFINE_SUBSCRIBER (inventory);
74- DEFINE_SUBSCRIBER (memory_pool);
75- DEFINE_SUBSCRIBER (merkle_block);
76- DEFINE_SUBSCRIBER (not_found);
77- DEFINE_SUBSCRIBER (ping);
78- DEFINE_SUBSCRIBER (pong);
79- DEFINE_SUBSCRIBER (reject);
80- DEFINE_SUBSCRIBER (send_address_v2);
81- DEFINE_SUBSCRIBER (send_compact);
82- DEFINE_SUBSCRIBER (send_headers);
83- DEFINE_SUBSCRIBER (transaction);
84- DEFINE_SUBSCRIBER (version);
85- DEFINE_SUBSCRIBER (version_acknowledge);
86- DEFINE_SUBSCRIBER (witness_tx_id_relay);
87-
8852 // / Create an instance of this class.
8953 distributor_peer (memory& memory, asio::strand& strand) NOEXCEPT;
9054
@@ -127,78 +91,42 @@ class BCT_API distributor_peer
12791 return error::success;
12892 }
12993
130- SUBSCRIBER_OVERLOAD (address);
131- SUBSCRIBER_OVERLOAD (alert);
132- SUBSCRIBER_OVERLOAD (block);
133- SUBSCRIBER_OVERLOAD (bloom_filter_add);
134- SUBSCRIBER_OVERLOAD (bloom_filter_clear);
135- SUBSCRIBER_OVERLOAD (bloom_filter_load);
136- SUBSCRIBER_OVERLOAD (client_filter);
137- SUBSCRIBER_OVERLOAD (client_filter_checkpoint);
138- SUBSCRIBER_OVERLOAD (client_filter_headers);
139- SUBSCRIBER_OVERLOAD (compact_block);
140- SUBSCRIBER_OVERLOAD (compact_transactions);
141- SUBSCRIBER_OVERLOAD (fee_filter);
142- SUBSCRIBER_OVERLOAD (get_address);
143- SUBSCRIBER_OVERLOAD (get_blocks);
144- SUBSCRIBER_OVERLOAD (get_client_filter_checkpoint);
145- SUBSCRIBER_OVERLOAD (get_client_filter_headers);
146- SUBSCRIBER_OVERLOAD (get_client_filters);
147- SUBSCRIBER_OVERLOAD (get_compact_transactions);
148- SUBSCRIBER_OVERLOAD (get_data);
149- SUBSCRIBER_OVERLOAD (get_headers);
150- SUBSCRIBER_OVERLOAD (headers);
151- SUBSCRIBER_OVERLOAD (inventory);
152- SUBSCRIBER_OVERLOAD (memory_pool);
153- SUBSCRIBER_OVERLOAD (merkle_block);
154- SUBSCRIBER_OVERLOAD (not_found);
155- SUBSCRIBER_OVERLOAD (ping);
156- SUBSCRIBER_OVERLOAD (pong);
157- SUBSCRIBER_OVERLOAD (reject);
158- SUBSCRIBER_OVERLOAD (send_address_v2);
159- SUBSCRIBER_OVERLOAD (send_compact);
160- SUBSCRIBER_OVERLOAD (send_headers);
161- SUBSCRIBER_OVERLOAD (transaction);
162- SUBSCRIBER_OVERLOAD (version);
163- SUBSCRIBER_OVERLOAD (version_acknowledge);
164- SUBSCRIBER_OVERLOAD (witness_tx_id_relay);
165-
16694 // These are thread safe.
167- DECLARE_SUBSCRIBER (address);
168- DECLARE_SUBSCRIBER (alert);
169- DECLARE_SUBSCRIBER (block);
170- DECLARE_SUBSCRIBER (bloom_filter_add);
171- DECLARE_SUBSCRIBER (bloom_filter_clear);
172- DECLARE_SUBSCRIBER (bloom_filter_load);
173- DECLARE_SUBSCRIBER (client_filter);
174- DECLARE_SUBSCRIBER (client_filter_checkpoint);
175- DECLARE_SUBSCRIBER (client_filter_headers);
176- DECLARE_SUBSCRIBER (compact_block);
177- DECLARE_SUBSCRIBER (compact_transactions);
178- DECLARE_SUBSCRIBER (fee_filter);
179- DECLARE_SUBSCRIBER (get_address);
180- DECLARE_SUBSCRIBER (get_blocks);
181- DECLARE_SUBSCRIBER (get_client_filter_checkpoint);
182- DECLARE_SUBSCRIBER (get_client_filter_headers);
183- DECLARE_SUBSCRIBER (get_client_filters);
184- DECLARE_SUBSCRIBER (get_compact_transactions);
185- DECLARE_SUBSCRIBER (get_data);
186- DECLARE_SUBSCRIBER (get_headers);
187- DECLARE_SUBSCRIBER (headers);
188- DECLARE_SUBSCRIBER (inventory);
189- DECLARE_SUBSCRIBER (memory_pool);
190- DECLARE_SUBSCRIBER (merkle_block);
191- DECLARE_SUBSCRIBER (not_found);
192- DECLARE_SUBSCRIBER (ping);
193- DECLARE_SUBSCRIBER (pong);
194- DECLARE_SUBSCRIBER (reject);
195- DECLARE_SUBSCRIBER (send_address_v2);
196- DECLARE_SUBSCRIBER (send_compact);
197- DECLARE_SUBSCRIBER (send_headers);
198- DECLARE_SUBSCRIBER (transaction);
199- DECLARE_SUBSCRIBER (version);
200- DECLARE_SUBSCRIBER (version_acknowledge);
201- DECLARE_SUBSCRIBER (witness_tx_id_relay);
95+ DECLARE_SUBSCRIBER (address)
96+ DECLARE_SUBSCRIBER (alert)
97+ DECLARE_SUBSCRIBER (block)
98+ DECLARE_SUBSCRIBER (bloom_filter_add)
99+ DECLARE_SUBSCRIBER (bloom_filter_clear)
100+ DECLARE_SUBSCRIBER (bloom_filter_load)
101+ DECLARE_SUBSCRIBER (client_filter)
102+ DECLARE_SUBSCRIBER (client_filter_checkpoint)
103+ DECLARE_SUBSCRIBER (client_filter_headers)
104+ DECLARE_SUBSCRIBER (compact_block)
105+ DECLARE_SUBSCRIBER (compact_transactions)
106+ DECLARE_SUBSCRIBER (fee_filter)
107+ DECLARE_SUBSCRIBER (get_address)
108+ DECLARE_SUBSCRIBER (get_blocks)
109+ DECLARE_SUBSCRIBER (get_client_filter_checkpoint)
110+ DECLARE_SUBSCRIBER (get_client_filter_headers)
111+ DECLARE_SUBSCRIBER (get_client_filters)
112+ DECLARE_SUBSCRIBER (get_compact_transactions)
113+ DECLARE_SUBSCRIBER (get_data)
114+ DECLARE_SUBSCRIBER (get_headers)
115+ DECLARE_SUBSCRIBER (headers)
116+ DECLARE_SUBSCRIBER (inventory)
117+ DECLARE_SUBSCRIBER (memory_pool)
118+ DECLARE_SUBSCRIBER (merkle_block)
119+ DECLARE_SUBSCRIBER (not_found)
120+ DECLARE_SUBSCRIBER (ping)
121+ DECLARE_SUBSCRIBER (pong)
122+ DECLARE_SUBSCRIBER (reject)
123+ DECLARE_SUBSCRIBER (send_address_v2)
124+ DECLARE_SUBSCRIBER (send_compact)
125+ DECLARE_SUBSCRIBER (send_headers)
126+ DECLARE_SUBSCRIBER (transaction)
127+ DECLARE_SUBSCRIBER (version)
128+ DECLARE_SUBSCRIBER (version_acknowledge)
129+ DECLARE_SUBSCRIBER (witness_tx_id_relay)
202130
203131 memory& memory_;
204132};
@@ -212,8 +140,7 @@ code distributor_peer::do_notify<messages::peer::block>(
212140
213141#undef SUBSCRIBER
214142#undef SUBSCRIBER_TYPE
215- #undef DEFINE_SUBSCRIBER
216- #undef SUBSCRIBER_OVERLOAD
143+ #undef HANDLER
217144#undef DECLARE_SUBSCRIBER
218145
219146} // namespace network
0 commit comments