À propos du projet
Tokio est une plateforme d'E/S événementielle et non bloquante pour écrire des applications asynchrones en Rust. Elle fournit un ordonnanceur de tâches multithread à vol de travail, un réacteur soutenu par les files d'événements du système d'exploitation (epoll, kqueue, IOCP) et des sockets TCP/UDP asynchrones. Le runtime met l'accent sur les abstractions à coût nul, la fiabilité via le système de propriété et de types de Rust, et la gestion naturelle de la contre-pression et de l'annulation.
Les composants clés incluent :
- Un ordonnanceur multithread à vol de travail pour les tâches.
- Un réacteur utilisant les files d'événements du système d'exploitation pour la disponibilité des E/S.
- Des primitives réseau TCP et UDP asynchrones.
Un exemple simple de serveur TCP echo montre l'utilisation de `#[tokio::main]`, `TcpListener` et `tokio::spawn` pour la gestion concurrente des connexions. Le projet maintient également des crates associées comme `axum`, `hyper`, `tonic`, `warp`, `tower`, `tracing`, `mio`, `bytes` et `loom`.
Tokio suit une politique MSRV glissante (actuellement Rust 1.71) et publie des versions mineures mensuellement, avec des versions LTS désignées pour le support à long terme. Le projet est sous licence MIT et accueille les contributions.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.