A versione 1.13.0 di a piattaforma Tokio hè stata liberata, pensata per creà applicazioni d'altu rendiment in a lingua Rust basata nantu à una architettura guidata da l'avvenimentu chì supporta multithreading è processà e dumande di rete in modu asincronu. U prughjettu hè scrittu in Rust è distribuitu sottu a licenza MIT. A nova versione marca l'espansione di a documentazione, una quantità di currezzione in u subsistema di rete è u sistema di sincronizazione.
Tokio include i seguenti cumpunenti:
- Scheduler I/O multi-threaded, chì travaglia fornendu risorse solu à quelli fili (in u cuntestu di l'esecuzione parallela) chì scontranu cundizioni specifiche, evitendu cusì e cundizioni di razza spessu scontri in prugrammi scritti in lingue senza memoria sicura è gestione di risorse;
- Backend per assicurà a cumpatibilità cù i meccanismi di multiplexing di cunnessione furniti in diversi sistemi operativi, cum'è epoll, kqueue è IOCP;
- Tipi è ligami cù l'implementazione di sockets TCP è UDP asincroni.
- Strumenti per eseguisce i travaglii in modu asincronu, cumprese primitivi di sincronizazione, tubi è timeout.
- API per eseguisce I/O asincroni, chì copre sockets TCP/UDP, operazioni di fugliale, cuntrolli di signale è di prucessu.
I sviluppori nutari tali funziunalità di u so pruduttu cum'è altu rendiment, paragunabbili à a vitezza di u travagliu nant'à u metallu nudu, eccellenti scalabilità è affidabilità furnita da u sistemu tipu è mudellu parallelismu di a lingua Rust.
U repository hà più di 500 participanti, cumprese rapprisentanti di AWS, Azure, Comcast, Dropbox è Facebook. E dipendenze di Tokio includenu prudutti cum'è:
- hyper: implementazione rapida è sicura di HTTP/1 è HTTP/2 per Rust;
- warp: una struttura ligera per servitore web, cuncentratu nantu à alta velocità di travagliu;
- traccia : un quadru per a traccia è u diagnosticu à livellu di l'applicazioni chì piglianu in contu l'asincronia;
- rdbc: una biblioteca per cunnette e basa di dati MySQL, Postgres è SQLite à i prudutti in a lingua di prugrammazione Rust;
- bytes: Utilità per manipulà i byte, cumprese i buffer di byte efficienti.
Source: opennet.ru
