| 1614 | } |
| 1615 | |
| 1616 | void 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 | |
| 1636 | void PeerManagerImpl::ReattemptInitialBroadcast(CScheduler& scheduler) |
| 1637 | { |
no test coverage detected