Branch data Line data Source code
1 : : // Copyright (c) 2009-2010 Satoshi Nakamoto
2 : : // Copyright (c) 2009-2020 The Bitcoin Core developers
3 : : // Distributed under the MIT software license, see the accompanying
4 : : // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 : :
6 : : #ifndef BITCOIN_NETMESSAGEMAKER_H
7 : : #define BITCOIN_NETMESSAGEMAKER_H
8 : :
9 : : #include <net.h>
10 : : #include <serialize.h>
11 : :
12 : : namespace NetMsg {
13 : : template <typename... Args>
14 : 26 : CSerializedNetMsg Make(std::string msg_type, Args&&... args)
15 : : {
16 : 26 : CSerializedNetMsg msg;
17 : 26 : msg.m_type = std::move(msg_type);
18 [ + - ]: 26 : VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19 : 26 : return msg;
20 : 0 : }
21 : : } // namespace NetMsg
22 : :
23 : : #endif // BITCOIN_NETMESSAGEMAKER_H
|