| 2839 | } |
| 2840 | |
| 2841 | bool PeerManagerImpl::IsAncestorOfBestHeaderOrTip(const CBlockIndex* header) |
| 2842 | { |
| 2843 | if (header == nullptr) { |
| 2844 | return false; |
| 2845 | } else if (m_chainman.m_best_header != nullptr && header == m_chainman.m_best_header->GetAncestor(header->nHeight)) { |
| 2846 | return true; |
| 2847 | } else if (m_chainman.ActiveChain().Contains(*header)) { |
| 2848 | return true; |
| 2849 | } |
| 2850 | return false; |
| 2851 | } |
| 2852 | |
| 2853 | bool PeerManagerImpl::MaybeSendGetHeaders(CNode& pfrom, const CBlockLocator& locator, Peer& peer) |
| 2854 | { |
nothing calls this directly
no test coverage detected