Rust : Tokio
A propos de cette page
Il s'agit de mes notes issues du tuto d'utilisation de l'environnement Tokio : ici
Présentation
Tokio est un runtime asynchrone pour Rust, et fournit les outils pour créer des applications asynchrone utilisant le réseau. Les composants principaux sont:
- Un runtime multi-process pour l'exécution de code asynchrone
- Une version asynchrone de la librairie standard
- Un grand ecosystème de librairies associées.
Son rôle est avant tout d'accélerer les applications dans le cas où elles sont dépendante d'IO réseau en grande quantité, et pas dépendantes du CPU. Il n'est pas non plus intéressant pour accéder à un grand nombre de fichiers simultanément car les OS n'ont généralement pas d'API asynchrone pour les filesystems.
Setup
Le but du tutoriel est de montrer comment implémenter un client et un serveur Redis, avec un petit ensemble de commandes Redis. Ce projet s'appelle Mini-Redis et est sur Github.
Avec une version récente de Rust, on commence par le serveur mini-redis, qui nous permettra de tester notre client.
cargo install mini-redis //Lancer le serveur mini-redis-server //Depuis un autre terminal mini-redis-cli get foo //Doit renvoyer (nil)
Hello Tokio
On commence par créer une application très simple, qui va se connecter au serveur mini-redis et passer la clef "hello" à "world".
cargo new my-redis cd my-redis //Cargo.toml tokio = { version = "1", features = ["full"] } mini-redis = "0.4