Changeset View
Changeset View
Standalone View
Standalone View
src/seeder/messagewriter.h
// Copyright (c) 2020 The Bitcoin developers | // Copyright (c) 2020 The Bitcoin developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#ifndef BITCOIN_SEEDER_MESSAGEWRITER_H | #ifndef BITCOIN_SEEDER_MESSAGEWRITER_H | ||||
#define BITCOIN_SEEDER_MESSAGEWRITER_H | #define BITCOIN_SEEDER_MESSAGEWRITER_H | ||||
#include <config.h> | #include <config.h> | ||||
#include <net.h> | #include <net.h> | ||||
#include <netmessagemaker.h> | #include <netmessagemaker.h> | ||||
namespace MessageWriter { | namespace MessageWriter { | ||||
template <typename... Args> | template <typename... Args> | ||||
static void WriteMessage(CDataStream &stream, std::string command, | static void WriteMessage(CDataStream &stream, std::string command, | ||||
Args &&... args) { | Args &&...args) { | ||||
CSerializedNetMsg payload = CNetMsgMaker(stream.GetVersion()) | CSerializedNetMsg payload = CNetMsgMaker(stream.GetVersion()) | ||||
.Make(command, std::forward<Args>(args)...); | .Make(command, std::forward<Args>(args)...); | ||||
size_t nMessageSize = payload.data.size(); | size_t nMessageSize = payload.data.size(); | ||||
// Serialize header | // Serialize header | ||||
std::vector<uint8_t> serializedHeader; | std::vector<uint8_t> serializedHeader; | ||||
V1TransportSerializer serializer = V1TransportSerializer(); | V1TransportSerializer serializer = V1TransportSerializer(); | ||||
serializer.prepareForTransport(GetConfig(), payload, serializedHeader); | serializer.prepareForTransport(GetConfig(), payload, serializedHeader); | ||||
Show All 13 Lines |