Changeset View
Changeset View
Standalone View
Standalone View
src/seeder/test/message_writer_tests.cpp
| Show All 34 Lines | BOOST_AUTO_TEST_CASE(simple_header_and_payload_message_writer_test) { | ||||
| uint64_t serviceFlags = uint64_t(ServiceFlags(NODE_NETWORK)); | uint64_t serviceFlags = uint64_t(ServiceFlags(NODE_NETWORK)); | ||||
| CService service; | CService service; | ||||
| CAddress addrTo(service, ServiceFlags(NODE_NETWORK)); | CAddress addrTo(service, ServiceFlags(NODE_NETWORK)); | ||||
| CAddress addrFrom(service, ServiceFlags(NODE_NETWORK)); | CAddress addrFrom(service, ServiceFlags(NODE_NETWORK)); | ||||
| std::string user_agent = "/Bitcoin ABC:0.0.0(seeder)/"; | std::string user_agent = "/Bitcoin ABC:0.0.0(seeder)/"; | ||||
| int start_height = 1; | int start_height = 1; | ||||
| CDataStream versionPayload(SER_NETWORK, PROTOCOL_VERSION); | CDataStream versionPayload(SER_NETWORK, PROTOCOL_VERSION); | ||||
| // The following .reserve() call is a workaround for a spurious | |||||
| // [-Werror=stringop-overflow=] warning in gcc <= 12.2. | |||||
| // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100366#c20 | |||||
| versionPayload.reserve(200); | |||||
| versionPayload << PROTOCOL_VERSION << serviceFlags << now << addrTo | versionPayload << PROTOCOL_VERSION << serviceFlags << now << addrTo | ||||
| << addrFrom << nonce << user_agent << start_height; | << addrFrom << nonce << user_agent << start_height; | ||||
| CMessageHeader versionhdr(Params().NetMagic(), NetMsgType::VERSION, | CMessageHeader versionhdr(Params().NetMagic(), NetMsgType::VERSION, | ||||
| versionPayload.size()); | versionPayload.size()); | ||||
| uint256 hash = Hash(versionPayload); | uint256 hash = Hash(versionPayload); | ||||
| memcpy(versionhdr.pchChecksum, hash.begin(), CMessageHeader::CHECKSUM_SIZE); | memcpy(versionhdr.pchChecksum, hash.begin(), CMessageHeader::CHECKSUM_SIZE); | ||||
| ▲ Show 20 Lines • Show All 45 Lines • Show Last 20 Lines | |||||