doc: PeerManagerImpl omitted by Doxygen #28377

issue Sjors opened this issue on August 31, 2023
  1. Sjors commented at 1:24 PM on August 31, 2023: member

    Current behaviour

    PeerManagerImpl and its methods are not processed by Doxygen.

    Expected behaviour

    PeerManagerImpl should be documented. I didn't check if other Impl classes have the same issue.

    Apart from documentation of this class being useful, it's quite annoying to not have the full caller graph for block and header validation.

    Steps to reproduce

    ./autogen
    ./configure --enable-tests --enable-wallet --enable-zmq --with-gui --disable-bench --disable-fuzz-binary 
    make docs
    

    In Safari visit in index.html and search for PeerManagerImpl.

    Relevant log output

    https://gist.githubusercontent.com/Sjors/be63a50000e40dcc74e22886f5ca213a/raw/c0ed70184a1f5b82a291ad8b49c62862a8cdea41/log.txt

    Several messages related to PeerManagerImpl:

    /Users/sjors/dev/bitcoin-docs/src/net_processing.cpp:1429: warning: documented symbol 'void PeerManagerImpl::AddTxAnnouncement' was not declared or defined.
    /Users/sjors/dev/bitcoin-docs/src/net_processing.cpp:1456: warning: no matching class member found for 
      void PeerManagerImpl::UpdateLastBlockAnnounceTime(NodeId node, int64_t time_in_seconds)
    …
    /Users/sjors/dev/bitcoin-docs/src/net_processing.cpp:1953: warning: no uniquely matching class member found for 
      void PeerManagerImpl::UpdatedBlockTip(const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload)
    Possible candidates:
      'void TestSubscriber::UpdatedBlockTip(const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload) override' at line 41 of file /Users/sjors/dev/bitcoin-docs/src/test/validation_block_tests.cpp
      'virtual void CValidationInterface::UpdatedBlockTip(const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload)' at line 92 of file /Users/sjors/dev/bitcoin-docs/src/validationinterface.h
      'void CMainSignals::UpdatedBlockTip(const CBlockIndex *, const CBlockIndex *, bool fInitialDownload)' at line 199 of file /Users/sjors/dev/bitcoin-docs/src/validationinterface.h
      'void CZMQNotificationInterface::UpdatedBlockTip(const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload) override' at line 38 of file /Users/sjors/dev/bitcoin-docs/src/zmq/zmqnotificationinterface.h
    ...
    
    

    How did you obtain Bitcoin Core

    Compiled from source

    What version of Bitcoin Core are you using?

    master@a4e0bcb6c9a8db5a74c74c5cddbb065ba9182482

    Operating system and version

    MacOS Ventura 13.5.1

    Machine specifications

    Doxygen 1.9.7

  2. maflcko commented at 1:30 PM on August 31, 2023: member

    Probably an upstream doxygen issue, so there is nothing that can be done here, no?

  3. Sjors commented at 11:02 AM on September 1, 2023: member

    Could be, or we're doing something wrong with how we document these implementation classes without header files?

  4. maflcko commented at 11:09 AM on September 1, 2023: member

    I haven't seen a correct and complete doxygen call graph, except for the most trivial cases, yet, so I'd be surprised if this wasn't a doxygen bug.

  5. Sjors commented at 12:39 PM on September 1, 2023: member

    Ok, so incomplete call graphs are a common issue? Some with entirely missing classes though? I can't it via search.

  6. maflcko commented at 12:46 PM on September 1, 2023: member

    Jup, for example anything inside a lambda is ignored completely. See https://doxygen.bitcoincore.org/class_r_p_c_help_man.html which is empty and shows no call graphs at all.

  7. maflcko commented at 12:49 PM on September 1, 2023: member
  8. Sjors commented at 12:58 PM on September 1, 2023: member

    Closing out of despair :-)

  9. Sjors closed this on Sep 1, 2023

  10. bitcoin locked this on Aug 31, 2024
Contributors

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-14 09:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me