Bola vydaná verzia 1.13.0 platformy Tokio, navrhnutá na vytváranie vysokovýkonných aplikácií v jazyku Rust na základe architektúry riadenej udalosťami, ktorá podporuje multithreading a spracovanie sieťových požiadaviek v asynchrónnom režime. Projekt je napísaný v jazyku Rust a distribuovaný pod licenciou MIT. Nová verzia znamená rozšírenie dokumentácie, množstvo opráv v sieťovom subsystéme a synchronizačnom systéme.
Tokio obsahuje nasledujúce komponenty:
- Viacvláknový plánovač I/O, ktorý funguje tak, že poskytuje zdroje iba tým vláknam (v kontexte paralelného vykonávania), ktoré spĺňajú špecifické podmienky, čím sa vyhýba konfliktným podmienkam, ktoré sa často vyskytujú v programoch napísaných v jazykoch bez bezpečnej správy pamäte a zdrojov;
- Backend na zabezpečenie kompatibility s mechanizmami multiplexovania pripojení poskytovanými v rôznych operačných systémoch, ako sú epoll, kqueue a IOCP;
- Typy a väzby s implementáciou asynchrónnych soketov TCP a UDP.
- Nástroje na vykonávanie úloh asynchrónne vrátane synchronizačných primitív, kanálov a časových limitov.
- API na vykonávanie asynchrónnych I/O, pokrývajúce TCP/UDP sokety, operácie so súbormi, riadenie signálov a procesov.
Vývojári zaznamenali také vlastnosti svojho produktu, ako je vysoký výkon, porovnateľný s rýchlosťou práce na holom kove, vynikajúca škálovateľnosť a spoľahlivosť, ktorú poskytuje typový systém a paralelný model jazyka Rust.
Úložisko má viac ako 500 účastníkov vrátane zástupcov AWS, Azure, Comcast, Dropbox a Facebook. Závislosti Tokia zahŕňajú produkty ako:
- hyper: rýchla a bezpečná implementácia HTTP/1 a HTTP/2 pre Rust;
- warp: ľahký rámec pre webový server, zamerané na vysokú rýchlosť práce;
- sledovanie: rámec pre sledovanie a diagnostiku na aplikačnej úrovni zohľadňujúci asynchrónnosť;
- rdbc: knižnica na pripojenie databáz MySQL, Postgres a SQLite k produktom v programovacom jazyku Rust;
- bajty: Pomôcky na manipuláciu s bajtami vrátane efektívnych vyrovnávacích pamätí bajtov.
Zdroj: opennet.ru
