Serious question - can anyone explain how you would choose which of these to use? e.g. I'm aware that Quinn is tokio-based whereas Quiche is an async-agnostic state machine. Where does this one fit in?
Actually, Quinn is split up in two crates: quinn is the tokio-based async layer, but quinn-proto provides an async-agnostic state machine (and provides a trait-based abstraction over its use of rustls and ring).
Also, I think quiche and neqo are squarely aimed at serving their particular corporate goals, whereas quinn is really aimed at being a library for use in the Rust ecosystem. So far that has mostly been the tokio ecosystem, but that might change as the async/await story matures.