Versionsi 1.13.0 i platformës Tokio është lëshuar, e cila është dizajnuar për të krijuar aplikacione me performancë të lartë në gjuhën Rust, të bazuara në arkitekturën e orientuar nga ngjarjet (Event-driven), e cila mbështet shumëproçesorësinë dhe përpunimin e kërkesave rrjet në mënyrë asinkrone. Projekti është shkruar në gjuhën Rust dhe shpërndahet nën licencën MIT. Në versionin e ri, vërehet zgjerimi i dokumentacionit, një sërë rregullimesh në nën-sistemin rrjet dhe sistemin e sinkronizimit.
Tokio përfshin komponentët e mëposhtëm:
- Planifikuesi multithread i hyrjes/daljes, i cili fokuson ofrimin e burimeve vetëm për ato proçese (në kontekstin e ekzekutimit paralele) që përmbushin kushte specifike, duke shmangur gjendjet e garës, të cilat shpesh ndodhin në programet e shkruara në gjuhë pa menaxhim të sigurt të memories dhe burimeve;
- Backend për të siguruar kompatibilitet me mekanizmat e ofruar në sisteme të ndryshme operative për shumëfishtimin e lidhjeve, të tilla si epoll, kqueue dhe IOCP;
- Llojet dhe lidhet me implementimin e asinkronëve TCP dhe UDP;
- Mjetet për kryerjen e detyrave në mënyrë asinkrone, përfshirë primitivët e sinkronizimit, kanalet dhe skadimet.
- API për kryerjen e hyrjes/daljes asinkrone, që mbulon soket TCP/UDP, operacione skedarësh, mjete për menaxhimin e sinjaleve dhe proceseve.
Zhvilluesit theksojnë karakteristikat e produktit të tyre si performancën e lartë, të krahasueshme me shpejtësinë e punës në 'harduerin e pastër', shkallëzueshmërinë e shkëlqyer dhe besueshmërinë e siguruar nga sistemi i tipeve dhe modeli i paralelizmit të gjuhës Rust.
Repo-ja përfshin më shumë se 500 pjesëmarrës, përfshirë përfaqësues të AWS, Azure, Comcast, Dropbox dhe Facebook. Si varësi, Tokio përdor produkte të tilla si:
- hyper: një implementim i shpejtë dhe të sigurt i HTTP/1 dhe HTTP/2 për Rust;
- warp: një framework i lehtë për web, i orientuar drejt shpejtësisë së lartë të punës;
- tracing: një framework për gjurmimin në nivel aplikacionesh dhe diagnostikimin me konsideratë për asinkroninë;
- rdbc: një bibliotekë për lidhjen e bazave të të dhënave MySQL, Postgres dhe SQLite me produktet ndërtuar në gjuhën programuese Rust;
- bytes: mjete për punën me bajta, përfshirë buferat e bajtëve efektivë.
Burimi: opennet.ru
