block_queue:
- print(): added with two debug call sites in the sync-speedup rewrite
(5be43fcdb, 2017-07-02); 08abb670e (2017-08-12) removed one call and
Pruning (b750fb27b, 2018-04-29) removed the last; dead since.
- get_num_filled_spans_prefix(): added in 5be43fcdb (2017-07-02)
without any caller; dead on arrival.
- get_last_known_hash(): added in 5be43fcdb with one caller in the
protocol handler; 08abb670e (2017-08-12) removed that caller while
reworking reorg handling; dead since.
- has_spans(): added in 7b7476075 (2017-08-16, kick idle synchronizing
peers) without any caller; dead on arrival.
- get_download_rate(): added by Pruning (b750fb27b, 2018-04-29)
without any caller; dead on arrival.
- has_unpruned_height(): declaration added by Pruning (b750fb27b); a
definition never existed, so it was never callable.
cryptonote_protocol_handler:
- get_synchronizing_connections_count(): from the original 2014 import
(296ae46ed, 2014-03-03); its only reference was already commented
out in the import, and 8efa1313f (2014-03-20) deleted that comment.
Never had a live caller in the repo's history.
- PASSIVE_PEER_KICK_TIME: added in 1ff638e92 (2017-10-19) with one use
in the idle-peer kick threshold; Pruning (b750fb27b) removed the
use, orphaning the macro.
- LOCALHOST_INT: added in ae2a50659 (2015-02-20) for numeric localhost
comparisons, second use added in c511abf00; 072102cfd (2017-05-27,
abstracted network addresses) removed both uses.
- h2b, b2h (rctTypes) and sumKeys (rctOps): from the original RingCT
import (9b1afe5f2, 2016-05-13); never referenced by any caller since
the import.
- cn_fast_hash128, hash_to_scalar128 (rctOps): from the same import.
hash_to_scalar128 (and cn_fast_hash128 through it) was last used by
the original MLSAG gen/ver hashing, which dbb5f2d6a (2016-07-09)
replaced with keyV-based hash_to_scalar; dead since then.
- bos_coster_heap_conv (multiexp): added in 9ff6e6a0a (2018-01-09)
alongside bos_coster_heap_conv_robust; multiexp() only ever
dispatched the robust variant, so the non-robust one was never
called. The robust variant is kept, as tests/performance_tests
still uses it (production dispatch moved to Straus/Pippenger in
939bc22/263431c).
/get_blocks.bin is HTTP binary RPC serialized with portable storage, not a
P2P Levin message. The previously added pool limiter used
LEVIN_DEFAULT_MAX_PACKET_SIZE as a response budget, but that constant does
not apply to the RPC path.
foreach_connection() can race with connection destruction while the
protocol handler remains in the raw-pointer map. Use the non-throwing
weak_from_this().lock() in add_ref() and treat expired connections as
unavailable.
This is an interim mitigation pending the broader connection lifetime
fix in PR 7345.