Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -86,13 +86,13 @@ test_libbitcoin_server_test_SOURCES = \
test/settings.cpp \
test/test.cpp \
test/test.hpp \
test/mocks/blocks.cpp \
test/mocks/blocks.hpp \
test/parsers/bitcoind_query.cpp \
test/parsers/bitcoind_target.cpp \
test/parsers/electrum_version.cpp \
test/parsers/native_query.cpp \
test/parsers/native_target.cpp \
test/protocols/blocks.cpp \
test/protocols/blocks.hpp \
test/protocols/bitcoind/bitcoind_rest.cpp \
test/protocols/bitcoind/bitcoind_rpc.cpp \
test/protocols/bitcoind/bitcoind_setup_fixture.cpp \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,9 @@
<ClCompile Include="..\..\..\..\test\configuration.cpp" />
<ClCompile Include="..\..\..\..\test\error.cpp" />
<ClCompile Include="..\..\..\..\test\main.cpp" />
<ClCompile Include="..\..\..\..\test\mocks\blocks.cpp">
<ObjectFileName>$(IntDir)test_mocks_blocks.obj</ObjectFileName>
</ClCompile>
<ClCompile Include="..\..\..\..\test\parsers\bitcoind_query.cpp" />
<ClCompile Include="..\..\..\..\test\parsers\bitcoind_target.cpp" />
<ClCompile Include="..\..\..\..\test\parsers\electrum_version.cpp">
Expand All @@ -133,9 +136,6 @@
<ClCompile Include="..\..\..\..\test\protocols\bitcoind\bitcoind_setup_fixture.cpp">
<ObjectFileName>$(IntDir)test_protocols_bitcoind_bitcoind_setup_fixture.obj</ObjectFileName>
</ClCompile>
<ClCompile Include="..\..\..\..\test\protocols\blocks.cpp">
<ObjectFileName>$(IntDir)test_protocols_blocks.obj</ObjectFileName>
</ClCompile>
<ClCompile Include="..\..\..\..\test\protocols\electrum\electrum_addresses.cpp" />
<ClCompile Include="..\..\..\..\test\protocols\electrum\electrum_disabled.cpp" />
<ClCompile Include="..\..\..\..\test\protocols\electrum\electrum_fees.cpp" />
Expand Down Expand Up @@ -168,8 +168,8 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\test\mocks\blocks.hpp" />
<ClInclude Include="..\..\..\..\test\protocols\bitcoind\bitcoind_setup_fixture.hpp" />
<ClInclude Include="..\..\..\..\test\protocols\blocks.hpp" />
<ClInclude Include="..\..\..\..\test\protocols\electrum\electrum_setup_fixture.hpp" />
<ClInclude Include="..\..\..\..\test\protocols\native\native_setup_fixture.hpp" />
<ClInclude Include="..\..\..\..\test\test.hpp" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,24 @@
<Filter Include="src">
<UniqueIdentifier>{66A0E586-2E3A-448F-0000-000000000000}</UniqueIdentifier>
</Filter>
<Filter Include="src\parsers">
<Filter Include="src\mocks">
<UniqueIdentifier>{66A0E586-2E3A-448F-0000-000000000001}</UniqueIdentifier>
</Filter>
<Filter Include="src\protocols">
<Filter Include="src\parsers">
<UniqueIdentifier>{66A0E586-2E3A-448F-0000-000000000002}</UniqueIdentifier>
</Filter>
<Filter Include="src\protocols\bitcoind">
<Filter Include="src\protocols">
<UniqueIdentifier>{66A0E586-2E3A-448F-0000-000000000003}</UniqueIdentifier>
</Filter>
<Filter Include="src\protocols\electrum">
<Filter Include="src\protocols\bitcoind">
<UniqueIdentifier>{66A0E586-2E3A-448F-0000-000000000004}</UniqueIdentifier>
</Filter>
<Filter Include="src\protocols\native">
<Filter Include="src\protocols\electrum">
<UniqueIdentifier>{66A0E586-2E3A-448F-0000-000000000005}</UniqueIdentifier>
</Filter>
<Filter Include="src\protocols\native">
<UniqueIdentifier>{66A0E586-2E3A-448F-0000-000000000006}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\test\configuration.cpp">
Expand All @@ -36,6 +39,9 @@
<ClCompile Include="..\..\..\..\test\main.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\test\mocks\blocks.cpp">
<Filter>src\mocks</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\test\parsers\bitcoind_query.cpp">
<Filter>src\parsers</Filter>
</ClCompile>
Expand All @@ -60,9 +66,6 @@
<ClCompile Include="..\..\..\..\test\protocols\bitcoind\bitcoind_setup_fixture.cpp">
<Filter>src\protocols\bitcoind</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\test\protocols\blocks.cpp">
<Filter>src\protocols</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\test\protocols\electrum\electrum_addresses.cpp">
<Filter>src\protocols\electrum</Filter>
</ClCompile>
Expand Down Expand Up @@ -131,12 +134,12 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\test\mocks\blocks.hpp">
<Filter>src\mocks</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\test\protocols\bitcoind\bitcoind_setup_fixture.hpp">
<Filter>src\protocols\bitcoind</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\test\protocols\blocks.hpp">
<Filter>src\protocols</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\test\protocols\electrum\electrum_setup_fixture.hpp">
<Filter>src\protocols\electrum</Filter>
</ClInclude>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,9 @@
<ClCompile Include="..\..\..\..\test\configuration.cpp" />
<ClCompile Include="..\..\..\..\test\error.cpp" />
<ClCompile Include="..\..\..\..\test\main.cpp" />
<ClCompile Include="..\..\..\..\test\mocks\blocks.cpp">
<ObjectFileName>$(IntDir)test_mocks_blocks.obj</ObjectFileName>
</ClCompile>
<ClCompile Include="..\..\..\..\test\parsers\bitcoind_query.cpp" />
<ClCompile Include="..\..\..\..\test\parsers\bitcoind_target.cpp" />
<ClCompile Include="..\..\..\..\test\parsers\electrum_version.cpp">
Expand All @@ -133,9 +136,6 @@
<ClCompile Include="..\..\..\..\test\protocols\bitcoind\bitcoind_setup_fixture.cpp">
<ObjectFileName>$(IntDir)test_protocols_bitcoind_bitcoind_setup_fixture.obj</ObjectFileName>
</ClCompile>
<ClCompile Include="..\..\..\..\test\protocols\blocks.cpp">
<ObjectFileName>$(IntDir)test_protocols_blocks.obj</ObjectFileName>
</ClCompile>
<ClCompile Include="..\..\..\..\test\protocols\electrum\electrum_addresses.cpp" />
<ClCompile Include="..\..\..\..\test\protocols\electrum\electrum_disabled.cpp" />
<ClCompile Include="..\..\..\..\test\protocols\electrum\electrum_fees.cpp" />
Expand Down Expand Up @@ -168,8 +168,8 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\test\mocks\blocks.hpp" />
<ClInclude Include="..\..\..\..\test\protocols\bitcoind\bitcoind_setup_fixture.hpp" />
<ClInclude Include="..\..\..\..\test\protocols\blocks.hpp" />
<ClInclude Include="..\..\..\..\test\protocols\electrum\electrum_setup_fixture.hpp" />
<ClInclude Include="..\..\..\..\test\protocols\native\native_setup_fixture.hpp" />
<ClInclude Include="..\..\..\..\test\test.hpp" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,24 @@
<Filter Include="src">
<UniqueIdentifier>{66A0E586-2E3A-448F-0000-000000000000}</UniqueIdentifier>
</Filter>
<Filter Include="src\parsers">
<Filter Include="src\mocks">
<UniqueIdentifier>{66A0E586-2E3A-448F-0000-000000000001}</UniqueIdentifier>
</Filter>
<Filter Include="src\protocols">
<Filter Include="src\parsers">
<UniqueIdentifier>{66A0E586-2E3A-448F-0000-000000000002}</UniqueIdentifier>
</Filter>
<Filter Include="src\protocols\bitcoind">
<Filter Include="src\protocols">
<UniqueIdentifier>{66A0E586-2E3A-448F-0000-000000000003}</UniqueIdentifier>
</Filter>
<Filter Include="src\protocols\electrum">
<Filter Include="src\protocols\bitcoind">
<UniqueIdentifier>{66A0E586-2E3A-448F-0000-000000000004}</UniqueIdentifier>
</Filter>
<Filter Include="src\protocols\native">
<Filter Include="src\protocols\electrum">
<UniqueIdentifier>{66A0E586-2E3A-448F-0000-000000000005}</UniqueIdentifier>
</Filter>
<Filter Include="src\protocols\native">
<UniqueIdentifier>{66A0E586-2E3A-448F-0000-000000000006}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\test\configuration.cpp">
Expand All @@ -36,6 +39,9 @@
<ClCompile Include="..\..\..\..\test\main.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\test\mocks\blocks.cpp">
<Filter>src\mocks</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\test\parsers\bitcoind_query.cpp">
<Filter>src\parsers</Filter>
</ClCompile>
Expand All @@ -60,9 +66,6 @@
<ClCompile Include="..\..\..\..\test\protocols\bitcoind\bitcoind_setup_fixture.cpp">
<Filter>src\protocols\bitcoind</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\test\protocols\blocks.cpp">
<Filter>src\protocols</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\test\protocols\electrum\electrum_addresses.cpp">
<Filter>src\protocols\electrum</Filter>
</ClCompile>
Expand Down Expand Up @@ -131,12 +134,12 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\test\mocks\blocks.hpp">
<Filter>src\mocks</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\test\protocols\bitcoind\bitcoind_setup_fixture.hpp">
<Filter>src\protocols\bitcoind</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\test\protocols\blocks.hpp">
<Filter>src\protocols</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\test\protocols\electrum\electrum_setup_fixture.hpp">
<Filter>src\protocols\electrum</Filter>
</ClInclude>
Expand Down
10 changes: 6 additions & 4 deletions include/bitcoin/server/sessions/session_server.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,13 @@ class session_server
template <typename ...Rest, bool_if<is_zero(sizeof...(Rest))> = true>
inline void attach_rest(const channel_ptr&, const ptr&) NOEXCEPT{}

template <typename Next, typename ...Rest>
inline void attach_rest(const channel_ptr& channel, const ptr& self) NOEXCEPT
{
channel->template attach<Next>(self, this->options_)->start();
attach_rest<Rest...>(channel, self);
if constexpr (!is_zero(sizeof...(Protocols)))
{
((channel->template attach<Protocols>(self,
this->options_)->start(), void()), ...);
}
}

/// Overridden to set channel protocols. This allows the implementation to
Expand All @@ -109,7 +111,7 @@ class session_server
{
using own = session_server<Protocols...>;
const auto self = this->template shared_from_base<own>();
attach_rest<Protocols...>(channel, self);
attach_rest(channel, self);
}

protected:
Expand Down
16 changes: 8 additions & 8 deletions test/protocols/blocks.cpp → test/mocks/blocks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ bool setup_three_block_unconfirmed_address_store(query_t& query) NOEXCEPT
query.set(block3a, database::context{ 0, 3, 0 }, false, false);
}

const block bogus_block10
const block mock_block10
{
header
{
Expand Down Expand Up @@ -261,12 +261,12 @@ const block bogus_block10
}
}
};
const block bogus_block11
const block mock_block11
{
header
{
0x31323334,
bogus_block10.hash(),
mock_block10.hash(),
hash_digest{ 0x11, 0xbb },
0x41424344,
0x51525354,
Expand Down Expand Up @@ -331,12 +331,12 @@ const block bogus_block11
}
}
};
const block bogus_block12
const block mock_block12
{
header
{
0x31323334,
bogus_block11.hash(),
mock_block11.hash(),
hash_digest{ 0x12, 0xbb },
0x41424344,
0x51525354,
Expand All @@ -351,14 +351,14 @@ const block bogus_block12
{
input
{
point{ bogus_block11.transactions_ptr()->front()->hash(false), 0x03 },
point{ mock_block11.transactions_ptr()->front()->hash(false), 0x03 },
script{},
witness{},
0x08
},
input
{
point{ bogus_block11.transactions_ptr()->front()->hash(false), 0x04 },
point{ mock_block11.transactions_ptr()->front()->hash(false), 0x04 },
script{},
witness{},
0x09
Expand All @@ -377,7 +377,7 @@ const block bogus_block12
}
}
};
const block bogus_block
const block mock_block_a
{
header
{
Expand Down
12 changes: 6 additions & 6 deletions test/protocols/blocks.hpp → test/mocks/blocks.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef LIBBITCOIN_SERVER_TEST_PROTOCOLS_BLOCKS
#define LIBBITCOIN_SERVER_TEST_PROTOCOLS_BLOCKS
#ifndef LIBBITCOIN_SERVER_TEST_MOCKS_BLOCKS
#define LIBBITCOIN_SERVER_TEST_MOCKS_BLOCKS

#include "../test.hpp"

Expand Down Expand Up @@ -84,11 +84,11 @@ extern const system::chain::block block6;
extern const system::chain::block block7;
extern const system::chain::block block8;
extern const system::chain::block block9;
extern const system::chain::block bogus_block10;
extern const system::chain::block bogus_block11;
extern const system::chain::block bogus_block12;
extern const system::chain::block mock_block10;
extern const system::chain::block mock_block11;
extern const system::chain::block mock_block12;

extern const system::chain::block bogus_block;
extern const system::chain::block mock_block_a;
extern const system::chain::block block1a;
extern const system::chain::block block2a;
extern const system::chain::block block3a;
Expand Down
2 changes: 1 addition & 1 deletion test/protocols/bitcoind/bitcoind_setup_fixture.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "../../test.hpp"
#include "../blocks.hpp"
#include "../../mocks/blocks.hpp"
#include "bitcoind_setup_fixture.hpp"
#include <future>

Expand Down
2 changes: 1 addition & 1 deletion test/protocols/bitcoind/bitcoind_setup_fixture.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
#define LIBBITCOIN_SERVER_TEST_PROTOCOLS_BITCOIND_BITCOIND

#include "../../test.hpp"
#include "../blocks.hpp"
#include "../../mocks/blocks.hpp"

#define BITCOIND_ENDPOINT "127.0.0.1:65000"

Expand Down
Loading
Loading