identifyClient
Map a 20-byte peer-id to a human-readable client name and version: the port of libtorrent's identify_client (aux::identify_client_impl).
Resolution order is identical to libtorrent:
all-zero peer-id →
"Unknown".the non-standard GenericMappings table (offset + literal-prefix matches).
the bespoke special cases: Bits on Wheels, eXeem, the two Experimental builds.
Azureus style, then Shadow style, then Mainline style, each rendered via the two-letter-code lookup table.
first-12-bytes-zero →
"Generic".otherwise
"Unknown [....]"with non-printable bytes shown as'.'.
Return
a display string; never null (unrecognised ids fall through to "Generic" or "Unknown [...]").
Parameters
peerId
the 20-byte peer-id (Sha1Hash / io.github.yuroyami.kitetorrent.Digest32).