pub(crate) fn handshake_failure(e: &ConnectionError) -> HandshakeFailureExpand description
Take a handshake failure apart into codes plus prose.
The prose is quinn’s own Display, unchanged, so nothing that reads the
message loses anything by this; the codes are otherwise recoverable only by
finding digits inside that message.
The three variants that carry a number are the three that matter to a
conformance report: a peer’s CONNECTION_CLOSE, our own stack’s transport
error (which is where a locally-detected certificate failure lands), and an
application close. The rest — a timeout, a reset, a version mismatch — are
findings with genuinely no code in them, and inventing one would be worse
than None.