Skip to content

Commit d0e1e2b

Browse files
committed
Add protocol_explore.
1 parent 8af56fe commit d0e1e2b

File tree

10 files changed

+190
-39
lines changed

10 files changed

+190
-39
lines changed

Makefile.am

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ src_libbitcoin_node_la_SOURCES = \
5858
src/protocols/protocol_block_in_31800.cpp \
5959
src/protocols/protocol_block_out_106.cpp \
6060
src/protocols/protocol_block_out_70012.cpp \
61+
src/protocols/protocol_explore.cpp \
6162
src/protocols/protocol_filter_out_70015.cpp \
6263
src/protocols/protocol_header_in_31800.cpp \
6364
src/protocols/protocol_header_in_70012.cpp \
@@ -180,6 +181,7 @@ include_bitcoin_node_protocols_HEADERS = \
180181
include/bitcoin/node/protocols/protocol_block_in_31800.hpp \
181182
include/bitcoin/node/protocols/protocol_block_out_106.hpp \
182183
include/bitcoin/node/protocols/protocol_block_out_70012.hpp \
184+
include/bitcoin/node/protocols/protocol_explore.hpp \
183185
include/bitcoin/node/protocols/protocol_filter_out_70015.hpp \
184186
include/bitcoin/node/protocols/protocol_header_in_31800.hpp \
185187
include/bitcoin/node/protocols/protocol_header_in_70012.hpp \

builds/cmake/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,7 @@ add_library( ${CANONICAL_LIB_NAME}
270270
"../../src/protocols/protocol_block_in_31800.cpp"
271271
"../../src/protocols/protocol_block_out_106.cpp"
272272
"../../src/protocols/protocol_block_out_70012.cpp"
273+
"../../src/protocols/protocol_explore.cpp"
273274
"../../src/protocols/protocol_filter_out_70015.cpp"
274275
"../../src/protocols/protocol_header_in_31800.cpp"
275276
"../../src/protocols/protocol_header_in_70012.cpp"

builds/msvc/vs2022/libbitcoin-node/libbitcoin-node.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@
143143
<ClCompile Include="..\..\..\..\src\protocols\protocol_block_in_31800.cpp" />
144144
<ClCompile Include="..\..\..\..\src\protocols\protocol_block_out_106.cpp" />
145145
<ClCompile Include="..\..\..\..\src\protocols\protocol_block_out_70012.cpp" />
146+
<ClCompile Include="..\..\..\..\src\protocols\protocol_explore.cpp" />
146147
<ClCompile Include="..\..\..\..\src\protocols\protocol_filter_out_70015.cpp" />
147148
<ClCompile Include="..\..\..\..\src\protocols\protocol_header_in_31800.cpp" />
148149
<ClCompile Include="..\..\..\..\src\protocols\protocol_header_in_70012.cpp" />
@@ -187,6 +188,7 @@
187188
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocol_block_in_31800.hpp" />
188189
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocol_block_out_106.hpp" />
189190
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocol_block_out_70012.hpp" />
191+
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocol_explore.hpp" />
190192
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocol_filter_out_70015.hpp" />
191193
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocol_header_in_31800.hpp" />
192194
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocol_header_in_70012.hpp" />

builds/msvc/vs2022/libbitcoin-node/libbitcoin-node.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,9 @@
114114
<ClCompile Include="..\..\..\..\src\protocols\protocol_block_out_70012.cpp">
115115
<Filter>src\protocols</Filter>
116116
</ClCompile>
117+
<ClCompile Include="..\..\..\..\src\protocols\protocol_explore.cpp">
118+
<Filter>src\protocols</Filter>
119+
</ClCompile>
117120
<ClCompile Include="..\..\..\..\src\protocols\protocol_filter_out_70015.cpp">
118121
<Filter>src\protocols</Filter>
119122
</ClCompile>
@@ -242,6 +245,9 @@
242245
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocol_block_out_70012.hpp">
243246
<Filter>include\bitcoin\node\protocols</Filter>
244247
</ClInclude>
248+
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocol_explore.hpp">
249+
<Filter>include\bitcoin\node\protocols</Filter>
250+
</ClInclude>
245251
<ClInclude Include="..\..\..\..\include\bitcoin\node\protocols\protocol_filter_out_70015.hpp">
246252
<Filter>include\bitcoin\node\protocols</Filter>
247253
</ClInclude>

include/bitcoin/node.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
#include <bitcoin/node/protocols/protocol_block_in_31800.hpp>
4646
#include <bitcoin/node/protocols/protocol_block_out_106.hpp>
4747
#include <bitcoin/node/protocols/protocol_block_out_70012.hpp>
48+
#include <bitcoin/node/protocols/protocol_explore.hpp>
4849
#include <bitcoin/node/protocols/protocol_filter_out_70015.hpp>
4950
#include <bitcoin/node/protocols/protocol_header_in_31800.hpp>
5051
#include <bitcoin/node/protocols/protocol_header_in_70012.hpp>
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
/**
2+
* Copyright (c) 2011-2025 libbitcoin developers (see AUTHORS)
3+
*
4+
* This file is part of libbitcoin.
5+
*
6+
* This program is free software: you can redistribute it and/or modify
7+
* it under the terms of the GNU Affero General Public License as published by
8+
* the Free Software Foundation, either version 3 of the License, or
9+
* (at your option) any later version.
10+
*
11+
* This program is distributed in the hope that it will be useful,
12+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
* GNU Affero General Public License for more details.
15+
*
16+
* You should have received a copy of the GNU Affero General Public License
17+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18+
*/
19+
#ifndef LIBBITCOIN_NODE_PROTOCOLS_PROTOCOL_EXPLORE_HPP
20+
#define LIBBITCOIN_NODE_PROTOCOLS_PROTOCOL_EXPLORE_HPP
21+
22+
#include <memory>
23+
#include <bitcoin/network.hpp>
24+
#include <bitcoin/node/define.hpp>
25+
#include <bitcoin/node/protocols/protocol.hpp>
26+
27+
namespace libbitcoin {
28+
namespace node {
29+
30+
class BCN_API protocol_explore
31+
: public network::protocol_html,
32+
protected network::tracker<protocol_explore>
33+
{
34+
public:
35+
typedef std::shared_ptr<protocol_explore> ptr;
36+
using options_t = network::settings::html_server;
37+
using channel_t = network::channel_http;
38+
39+
protocol_explore(const auto& session,
40+
const network::channel::ptr& channel,
41+
const options_t& options) NOEXCEPT
42+
: network::protocol_html(session, channel, options),
43+
////options_(options),
44+
network::tracker<protocol_explore>(session->log)
45+
{
46+
}
47+
48+
protected:
49+
void handle_receive_get(const code& ec,
50+
const network::http::method::get& request) NOEXCEPT override;
51+
52+
private:
53+
// This is thread safe.
54+
////const options_t& options_;
55+
};
56+
57+
} // namespace node
58+
} // namespace libbitcoin
59+
60+
#endif

install-cmake.sh

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ fi
6060

6161
# The default build directory.
6262
#------------------------------------------------------------------------------
63-
BUILD_DIR="build-libbitcoin-node"
63+
BUILD_SRC_DIR="build-libbitcoin-node"
6464

6565
PRESUMED_CI_PROJECT_PATH=$(pwd)
6666

@@ -162,13 +162,13 @@ make_jobs()
162162
shift 1
163163

164164
VERBOSITY=""
165-
if [[ DISPLAY_VERBOSE ]]; then
165+
if [[ $DISPLAY_VERBOSE ]]; then
166166
VERBOSITY="VERBOSE=1"
167167
fi
168168

169169
SEQUENTIAL=1
170170
# Avoid setting -j1 (causes problems on single threaded systems [TRAVIS]).
171-
if [[ $JOBS > $SEQUENTIAL ]]; then
171+
if [[ $JOBS -gt $SEQUENTIAL ]]; then
172172
make -j"$JOBS" "$@" $VERBOSITY
173173
else
174174
make "$@" $VERBOSITY
@@ -272,7 +272,7 @@ parse_command_line_options()
272272
(--build-secp256k1) BUILD_SECP256K1="yes";;
273273

274274
# Unique script options.
275-
(--build-dir=*) BUILD_DIR="${OPTION#*=}";;
275+
(--build-dir=*) BUILD_SRC_DIR="${OPTION#*=}";;
276276

277277
# Handle ndebug declarations due to disabled argument passthrough
278278
(--enable-ndebug) ENABLE_NDEBUG="yes";;
@@ -326,11 +326,6 @@ set_os_specific_compiler_settings()
326326
else # Linux
327327
STDLIB="stdc++"
328328
fi
329-
330-
if [[ ($OS == Darwin) && ($CC == clang*) ]]; then
331-
CFLAGS="${CFLAGS} -DBOOST_NO_CXX98_FUNCTION_BASE"
332-
CXXFLAGS="${CXXFLAGS} -DBOOST_NO_CXX98_FUNCTION_BASE"
333-
fi
334329
}
335330

336331
link_to_standard_library()
@@ -481,7 +476,7 @@ display_configuration()
481476
display_message "BUILD_BOOST : $BUILD_BOOST"
482477
display_message "BUILD_SECP256K1 : $BUILD_SECP256K1"
483478
display_message "BOOST_ROOT : $BOOST_ROOT"
484-
display_message "BUILD_DIR : $BUILD_DIR"
479+
display_message "BUILD_SRC_DIR : $BUILD_SRC_DIR"
485480
display_message "CUMULATIVE_FILTERED_ARGS : $CUMULATIVE_FILTERED_ARGS"
486481
display_message "CUMULATIVE_FILTERED_ARGS_CMAKE : $CUMULATIVE_FILTERED_ARGS_CMAKE"
487482
display_message "PREFIX : $PREFIX"
@@ -1073,10 +1068,10 @@ BITCOIN_NODE_OPTIONS=(
10731068
display_configuration
10741069

10751070
if [[ ! ($CI == true) ]]; then
1076-
create_directory "$BUILD_DIR"
1077-
push_directory "$BUILD_DIR"
1071+
create_directory "$BUILD_SRC_DIR"
1072+
push_directory "$BUILD_SRC_DIR"
10781073
else
1079-
push_directory "$BUILD_DIR"
1074+
push_directory "$BUILD_SRC_DIR"
10801075
fi
10811076

10821077
initialize_git

install-cmakepresets.sh

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ fi
6666

6767
# The default build directory.
6868
#------------------------------------------------------------------------------
69-
BUILD_DIR="build-libbitcoin-node"
69+
BUILD_SRC_DIR="build-libbitcoin-node"
7070

7171
PRESUMED_CI_PROJECT_PATH=$(pwd)
7272

@@ -168,13 +168,13 @@ make_jobs()
168168
shift 1
169169

170170
VERBOSITY=""
171-
if [[ DISPLAY_VERBOSE ]]; then
171+
if [[ $DISPLAY_VERBOSE ]]; then
172172
VERBOSITY="VERBOSE=1"
173173
fi
174174

175175
SEQUENTIAL=1
176176
# Avoid setting -j1 (causes problems on single threaded systems [TRAVIS]).
177-
if [[ $JOBS > $SEQUENTIAL ]]; then
177+
if [[ $JOBS -gt $SEQUENTIAL ]]; then
178178
make -j"$JOBS" "$@" $VERBOSITY
179179
else
180180
make "$@" $VERBOSITY
@@ -279,7 +279,7 @@ parse_command_line_options()
279279
(--build-secp256k1) BUILD_SECP256K1="yes";;
280280

281281
# Unique script options.
282-
(--build-dir=*) BUILD_DIR="${OPTION#*=}";;
282+
(--build-dir=*) BUILD_SRC_DIR="${OPTION#*=}";;
283283
(--preset=*) PRESET_ID="${OPTION#*=}";;
284284

285285
# Handle ndebug declarations due to disabled argument passthrough
@@ -334,11 +334,6 @@ set_os_specific_compiler_settings()
334334
else # Linux
335335
STDLIB="stdc++"
336336
fi
337-
338-
if [[ ($OS == Darwin) && ($CC == clang*) ]]; then
339-
CFLAGS="${CFLAGS} -DBOOST_NO_CXX98_FUNCTION_BASE"
340-
CXXFLAGS="${CXXFLAGS} -DBOOST_NO_CXX98_FUNCTION_BASE"
341-
fi
342337
}
343338

344339
link_to_standard_library()
@@ -520,7 +515,7 @@ display_configuration()
520515
display_message "BUILD_BOOST : $BUILD_BOOST"
521516
display_message "BUILD_SECP256K1 : $BUILD_SECP256K1"
522517
display_message "BOOST_ROOT : $BOOST_ROOT"
523-
display_message "BUILD_DIR : $BUILD_DIR"
518+
display_message "BUILD_SRC_DIR : $BUILD_SRC_DIR"
524519
display_message "PRESET_ID : $PRESET_ID"
525520
display_message "CUMULATIVE_FILTERED_ARGS : $CUMULATIVE_FILTERED_ARGS"
526521
display_message "CUMULATIVE_FILTERED_ARGS_CMAKE : $CUMULATIVE_FILTERED_ARGS_CMAKE"
@@ -1121,10 +1116,10 @@ BITCOIN_NODE_OPTIONS=(
11211116
display_configuration
11221117

11231118
if [[ ! ($CI == true) ]]; then
1124-
create_directory "$BUILD_DIR"
1125-
push_directory "$BUILD_DIR"
1119+
create_directory "$BUILD_SRC_DIR"
1120+
push_directory "$BUILD_SRC_DIR"
11261121
else
1127-
push_directory "$BUILD_DIR"
1122+
push_directory "$BUILD_SRC_DIR"
11281123
fi
11291124

11301125
initialize_git

install.sh

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ fi
6060

6161
# The default build directory.
6262
#------------------------------------------------------------------------------
63-
BUILD_DIR="build-libbitcoin-node"
63+
BUILD_SRC_DIR="build-libbitcoin-node"
6464

6565
PRESUMED_CI_PROJECT_PATH=$(pwd)
6666

@@ -162,13 +162,13 @@ make_jobs()
162162
shift 1
163163

164164
VERBOSITY=""
165-
if [[ DISPLAY_VERBOSE ]]; then
165+
if [[ $DISPLAY_VERBOSE ]]; then
166166
VERBOSITY="VERBOSE=1"
167167
fi
168168

169169
SEQUENTIAL=1
170170
# Avoid setting -j1 (causes problems on single threaded systems [TRAVIS]).
171-
if [[ $JOBS > $SEQUENTIAL ]]; then
171+
if [[ $JOBS -gt $SEQUENTIAL ]]; then
172172
make -j"$JOBS" "$@" $VERBOSITY
173173
else
174174
make "$@" $VERBOSITY
@@ -272,7 +272,7 @@ parse_command_line_options()
272272
(--build-secp256k1) BUILD_SECP256K1="yes";;
273273

274274
# Unique script options.
275-
(--build-dir=*) BUILD_DIR="${OPTION#*=}";;
275+
(--build-dir=*) BUILD_SRC_DIR="${OPTION#*=}";;
276276
esac
277277
done
278278
}
@@ -321,11 +321,6 @@ set_os_specific_compiler_settings()
321321
else # Linux
322322
STDLIB="stdc++"
323323
fi
324-
325-
if [[ ($OS == Darwin) && ($CC == clang*) ]]; then
326-
CFLAGS="${CFLAGS} -DBOOST_NO_CXX98_FUNCTION_BASE"
327-
CXXFLAGS="${CXXFLAGS} -DBOOST_NO_CXX98_FUNCTION_BASE"
328-
fi
329324
}
330325

331326
link_to_standard_library()
@@ -426,7 +421,7 @@ display_configuration()
426421
display_message "BUILD_BOOST : $BUILD_BOOST"
427422
display_message "BUILD_SECP256K1 : $BUILD_SECP256K1"
428423
display_message "BOOST_ROOT : $BOOST_ROOT"
429-
display_message "BUILD_DIR : $BUILD_DIR"
424+
display_message "BUILD_SRC_DIR : $BUILD_SRC_DIR"
430425
display_message "PREFIX : $PREFIX"
431426
display_message "DISABLE_SHARED : $DISABLE_SHARED"
432427
display_message "DISABLE_STATIC : $DISABLE_STATIC"
@@ -947,10 +942,10 @@ BITCOIN_NODE_OPTIONS=(
947942
display_configuration
948943

949944
if [[ ! ($CI == true) ]]; then
950-
create_directory "$BUILD_DIR"
951-
push_directory "$BUILD_DIR"
945+
create_directory "$BUILD_SRC_DIR"
946+
push_directory "$BUILD_SRC_DIR"
952947
else
953-
push_directory "$BUILD_DIR"
948+
push_directory "$BUILD_SRC_DIR"
954949
fi
955950

956951
initialize_git

0 commit comments

Comments
 (0)