mio vs async/await APIs in network protocol library

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • quinn

    Async-friendly QUIC implementation in Rust

  • I searched for other crates doing this and had a little bit of an eye opener looking at quiche and quinn-proto. I came across them before but thanks to your explanation I think I understand their design and separation of crates better now. Summarizing: I would need some kind of core crate that does no networking at all but just packing and unpacking of my protocol-defined messages and implementation of the protocol state machine. Its API would consist of only simple, synchronous functions to handle this. On top of this core crate I could build another crate with more user-friendly API using a specific runtime (async runtimes like async-std and Tokio or event-loop based systems like mio). For interoperability I would provide an FFI layer as simple wrapper of the core crate and then let the foreign languages build a user-friendly API using their own async I/O Frameworks and event-loop. Would you agree to this summary?

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts