Each symbol below has no references anywhere in the tree (src/, contrib/,
tests/); the full build still links cleanly. Per-symbol history is given so the
"why is this unused" is auditable (hashes are ancestors of HEAD).
net/connection_basic (all four lost their last caller in the 2022 connection
rewrite, 3be1dbd09 "connection: fix implementation"):
- to_string(t_connection_type): unused free function. Added 9bfa593ee (2015)
to print a connection's type in a debug log; 3be1dbd09 (2022) switched that
log line to std::to_string on the enum, orphaning this overload.
- do_send_handler_write / do_send_handler_write_from_queue: trace-only stubs
added eabb51960 (2015) on the TCP send path; their calls in do_send_chunk /
the write-completion handler were deleted by 3be1dbd09 (2022). The real send
path is connection<T>::start_write().
- sleep_before_packet: outbound rate-limit sleep added eabb51960 (2015);
callers were thinned over time (cf5f62361, 2017) and the last removed by
3be1dbd09 (2022). Rate-limiting now lives in connection<T>::start_write()
via the global out-throttle.
net/levin_base:
- struct bucket_head: legacy levin packet header from the 2014 epee import,
superseded by bucket_head2 (the wire header, `using header = bucket_head2`).
Its last use went away with the old levin_protocol_handler in 0c545f614
(2024, "epee/test: remove levin_protocol_handler and core_proxy tests").
- LEVIN_PROTOCOL_VER_0: dead on arrival - present since the 2014 import, never
referenced (the code uses LEVIN_PROTOCOL_VER_1).
net/net_utils_base (connection-context logging macros):
- LOG_PRINT_CC_L4: levin trace macro (2014 import); all call sites removed in
5833d66f6 (2017, "Change logging to easylogging++").
- LOG_PRINT_CCONTEXT_L3: had a single "REMOTE PEERLIST" call site, removed in
the same 5833d66f6 (2017).
- LOG_PRINT_CC_L3: only ever referenced inside LOG_PRINT_CCONTEXT_L3's body,
never invoked directly - transitively dead once the above was removed.
- LOG_CC: dead on arrival - added in 5833d66f6 (2017) but never invoked.
(The plain LOG_PRINT_L3 macro that LOG_PRINT_CC_L3/CCONTEXT_L3 wrap is still
used elsewhere and is left untouched; only these unused CC wrappers go.)
net/network_throttle:
- typedef network_MB: added eabb51960 (2015); its only consumers
(set_target_kill / m_target_MB) were stripped the same day in 5ce4256e3
(2015), leaving an unused typedef.
profile_tools:
- START_WAY_POINTS / WAY_POINT / WAY_POINT2: dead on arrival - upstream-epee
profiling macros present since the 2014 import, never once invoked (they only
ever appear as definitions in profile_tools.h across all history).
- TIME_MEASURE_PAUSE / TIME_MEASURE_RESTART and their _NS_ variants: dead on
arrival - added bda8c5983 (2017, "epee: add nanosecond timer and pause/restart
profiling macros") but never wired to any call site. Of this family only
TIME_MEASURE_START / TIME_MEASURE_FINISH are actually used.
storages:
- typedef binarybuffer (portable_storage_base): used by the binary store/load
API since the 2014 import; its last consumer (store_to_binary) was removed in
7414e2bac (2020, "Change epee binary output from std::stringstream to
byte_stream").
- the templated min_bytes() member declaration (portable_storage_from_bin):
declared but never defined or called. Added 7f407c027 (2020-12-26,
"portable_storage: add some sanity checks on data size") alongside the
ps_min_bytes<> trait struct, but the size checks were implemented via that
trait (ps_min_bytes<>::strict), so this member was never defined or wired up
- dead on arrival. The ps_min_bytes<> trait remains in use and is left intact.
In this repo, `boost::interprocess` was being used soley to make `uint32_t` operations atomic. So I replaced each instance of
`boost::interprocess::ipcdetail::atomic(...)32` with `std::atomic` methods. I replaced member declarations as applicable. For example,
when I needed to change a `volatile uint32_t` into a `std::atomic<uint32_t>`. Sometimes, a member was being used a boolean flag, so
I replaced it with `std::atomic<bool>`.
You may notice that I didn't touch `levin_client_async.h`. That is because this file is entirely unused and will be deleted in PR monero-project#8211.
Additional changes from review:
* Make some local variables const
* Change postfix operators to prefix operators where value was not need