Coverage Report

Created: 2026-07-14 18:13

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/bitcoin/src/netmessagemaker.h
Line
Count
Source
1
// Copyright (c) 2009-2010 Satoshi Nakamoto
2
// Copyright (c) 2009-present 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
    CSerializedNetMsg Make(std::string msg_type, Args&&... args)
15
10.1M
    {
16
10.1M
        CSerializedNetMsg msg;
17
10.1M
        msg.m_type = std::move(msg_type);
18
10.1M
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
10.1M
        return msg;
20
10.1M
    }
CSerializedNetMsg NetMsg::Make<bool, unsigned long const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool&&, unsigned long const&)
Line
Count
Source
15
11.2k
    {
16
11.2k
        CSerializedNetMsg msg;
17
11.2k
        msg.m_type = std::move(msg_type);
18
11.2k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
11.2k
        return msg;
20
11.2k
    }
CSerializedNetMsg NetMsg::Make<CBlockHeaderAndShortTxIDs const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CBlockHeaderAndShortTxIDs const&)
Line
Count
Source
15
18.4k
    {
16
18.4k
        CSerializedNetMsg msg;
17
18.4k
        msg.m_type = std::move(msg_type);
18
18.4k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
18.4k
        return msg;
20
18.4k
    }
CSerializedNetMsg NetMsg::Make<std::vector<CInv, std::allocator<CInv> >&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<CInv, std::allocator<CInv> >&)
Line
Count
Source
15
658k
    {
16
658k
        CSerializedNetMsg msg;
17
658k
        msg.m_type = std::move(msg_type);
18
658k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
658k
        return msg;
20
658k
    }
CSerializedNetMsg NetMsg::Make<ParamsWrapper<TransactionSerParams, CTransaction const> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ParamsWrapper<TransactionSerParams, CTransaction const>&&)
Line
Count
Source
15
9.47k
    {
16
9.47k
        CSerializedNetMsg msg;
17
9.47k
        msg.m_type = std::move(msg_type);
18
9.47k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
9.47k
        return msg;
20
9.47k
    }
CSerializedNetMsg NetMsg::Make<std::span<std::byte const, 18446744073709551615ul> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::span<std::byte const, 18446744073709551615ul>&&)
Line
Count
Source
15
216
    {
16
216
        CSerializedNetMsg msg;
17
216
        msg.m_type = std::move(msg_type);
18
216
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
216
        return msg;
20
216
    }
CSerializedNetMsg NetMsg::Make<ParamsWrapper<TransactionSerParams, CBlock const> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ParamsWrapper<TransactionSerParams, CBlock const>&&)
Line
Count
Source
15
3.60k
    {
16
3.60k
        CSerializedNetMsg msg;
17
3.60k
        msg.m_type = std::move(msg_type);
18
3.60k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
3.60k
        return msg;
20
3.60k
    }
CSerializedNetMsg NetMsg::Make<CMerkleBlock&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CMerkleBlock&)
Line
Count
Source
15
1.03k
    {
16
1.03k
        CSerializedNetMsg msg;
17
1.03k
        msg.m_type = std::move(msg_type);
18
1.03k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
1.03k
        return msg;
20
1.03k
    }
CSerializedNetMsg NetMsg::Make<CBlockHeaderAndShortTxIDs&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CBlockHeaderAndShortTxIDs&)
Line
Count
Source
15
7.52k
    {
16
7.52k
        CSerializedNetMsg msg;
17
7.52k
        msg.m_type = std::move(msg_type);
18
7.52k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
7.52k
        return msg;
20
7.52k
    }
CSerializedNetMsg NetMsg::Make<int, unsigned long&, long&, unsigned long&, ParamsWrapper<CNetAddr::SerParams, CService>, unsigned long&, ParamsWrapper<CNetAddr::SerParams, CService>, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, bool&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int&&, unsigned long&, long&, unsigned long&, ParamsWrapper<CNetAddr::SerParams, CService>&&, unsigned long&, ParamsWrapper<CNetAddr::SerParams, CService>&&, unsigned long&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, bool&)
Line
Count
Source
15
2.91k
    {
16
2.91k
        CSerializedNetMsg msg;
17
2.91k
        msg.m_type = std::move(msg_type);
18
2.91k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
2.91k
        return msg;
20
2.91k
    }
CSerializedNetMsg NetMsg::Make<>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
Line
Count
Source
15
657
    {
16
657
        CSerializedNetMsg msg;
17
657
        msg.m_type = std::move(msg_type);
18
657
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
657
        return msg;
20
657
    }
CSerializedNetMsg NetMsg::Make<unsigned int const&, unsigned long const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int const&, unsigned long const&)
Line
Count
Source
15
212
    {
16
212
        CSerializedNetMsg msg;
17
212
        msg.m_type = std::move(msg_type);
18
212
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
212
        return msg;
20
212
    }
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<std::array<std::byte, 168ul> const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::array<std::byte, 168ul> const&)
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<std::vector<CInv, std::allocator<CInv> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<CInv, std::allocator<CInv> >&&)
CSerializedNetMsg NetMsg::Make<CBlockLocator const&, uint256>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CBlockLocator const&, uint256&&)
Line
Count
Source
15
9.15k
    {
16
9.15k
        CSerializedNetMsg msg;
17
9.15k
        msg.m_type = std::move(msg_type);
18
9.15k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
9.15k
        return msg;
20
9.15k
    }
CSerializedNetMsg NetMsg::Make<BlockTransactions&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, BlockTransactions&)
Line
Count
Source
15
4.24k
    {
16
4.24k
        CSerializedNetMsg msg;
17
4.24k
        msg.m_type = std::move(msg_type);
18
4.24k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
4.24k
        return msg;
20
4.24k
    }
Unexecuted instantiation: CSerializedNetMsg NetMsg::Make<std::vector<CBlockHeader, std::allocator<CBlockHeader> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<CBlockHeader, std::allocator<CBlockHeader> >&&)
CSerializedNetMsg NetMsg::Make<ParamsWrapper<TransactionSerParams, std::vector<CBlock, std::allocator<CBlock> > > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ParamsWrapper<TransactionSerParams, std::vector<CBlock, std::allocator<CBlock> > >&&)
Line
Count
Source
15
361
    {
16
361
        CSerializedNetMsg msg;
17
361
        msg.m_type = std::move(msg_type);
18
361
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
361
        return msg;
20
361
    }
CSerializedNetMsg NetMsg::Make<BlockTransactionsRequest&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, BlockTransactionsRequest&)
Line
Count
Source
15
2.77k
    {
16
2.77k
        CSerializedNetMsg msg;
17
2.77k
        msg.m_type = std::move(msg_type);
18
2.77k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
2.77k
        return msg;
20
2.77k
    }
CSerializedNetMsg NetMsg::Make<unsigned long&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long&)
Line
Count
Source
15
9.20M
    {
16
9.20M
        CSerializedNetMsg msg;
17
9.20M
        msg.m_type = std::move(msg_type);
18
9.20M
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
9.20M
        return msg;
20
9.20M
    }
CSerializedNetMsg NetMsg::Make<BlockFilter const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, BlockFilter const&)
Line
Count
Source
15
199k
    {
16
199k
        CSerializedNetMsg msg;
17
199k
        msg.m_type = std::move(msg_type);
18
199k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
199k
        return msg;
20
199k
    }
CSerializedNetMsg NetMsg::Make<unsigned char&, uint256, uint256&, std::vector<uint256, std::allocator<uint256> >&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned char&, uint256&&, uint256&, std::vector<uint256, std::allocator<uint256> >&)
Line
Count
Source
15
1.31k
    {
16
1.31k
        CSerializedNetMsg msg;
17
1.31k
        msg.m_type = std::move(msg_type);
18
1.31k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
1.31k
        return msg;
20
1.31k
    }
CSerializedNetMsg NetMsg::Make<unsigned char&, uint256, std::vector<uint256, std::allocator<uint256> >&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned char&, uint256&&, std::vector<uint256, std::allocator<uint256> >&)
Line
Count
Source
15
2.12k
    {
16
2.12k
        CSerializedNetMsg msg;
17
2.12k
        msg.m_type = std::move(msg_type);
18
2.12k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
2.12k
        return msg;
20
2.12k
    }
CSerializedNetMsg NetMsg::Make<ParamsWrapper<CAddress::SerParams, std::vector<CAddress, std::allocator<CAddress> > > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ParamsWrapper<CAddress::SerParams, std::vector<CAddress, std::allocator<CAddress> > >&&)
Line
Count
Source
15
2.26k
    {
16
2.26k
        CSerializedNetMsg msg;
17
2.26k
        msg.m_type = std::move(msg_type);
18
2.26k
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
2.26k
        return msg;
20
2.26k
    }
CSerializedNetMsg NetMsg::Make<long&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long&)
Line
Count
Source
15
31
    {
16
31
        CSerializedNetMsg msg;
17
31
        msg.m_type = std::move(msg_type);
18
31
        VectorWriter{msg.data, 0, std::forward<Args>(args)...};
19
31
        return msg;
20
31
    }
21
} // namespace NetMsg
22
23
#endif // BITCOIN_NETMESSAGEMAKER_H