MCPcopy Create free account
hub / github.com/bitcoin/bitcoin / InitializeNode

Method InitializeNode

src/net_processing.cpp:1616–1634  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1614}
1615
1616void PeerManagerImpl::InitializeNode(const CNode& node, ServiceFlags our_services)
1617{
1618 NodeId nodeid = node.GetId();
1619 {
1620 LOCK(cs_main); // For m_node_states
1621 m_node_states.try_emplace(m_node_states.end(), nodeid);
1622 }
1623 WITH_LOCK(m_tx_download_mutex, m_txdownloadman.CheckIsEmpty(nodeid));
1624
1625 if (NetPermissions::HasFlag(node.m_permission_flags, NetPermissionFlags::BloomFilter)) {
1626 our_services = static_cast<ServiceFlags>(our_services | NODE_BLOOM);
1627 }
1628
1629 PeerRef peer = std::make_shared<Peer>(nodeid, our_services, node.IsInboundConn());
1630 {
1631 LOCK(m_peer_mutex);
1632 m_peer_map.emplace_hint(m_peer_map.end(), nodeid, peer);
1633 }
1634}
1635
1636void PeerManagerImpl::ReattemptInitialBroadcast(CScheduler& scheduler)
1637{

Callers 2

OpenNetworkConnectionMethod · 0.45

Calls 4

GetIdMethod · 0.80
CheckIsEmptyMethod · 0.80
IsInboundConnMethod · 0.80
endMethod · 0.45

Tested by

no test coverage detected