Välja on Tokio platvormi versioon 1.13.0, mis on loodud Rust keeles kõrgtehnoloogiliste ürituste põhjal töötavate rakenduste loomiseks, millel on sündmustele suunatud arhitektuur, mis toetab mitme lõime kasutamist ja asynchronous võrgutaotluste töötlemist. Projekt on kirjutatud Rust keeles ja levitatakse MIT litsentsiga. Uues versioonis on märgitud dokumentatsiooni täiustamine, rida parandusi võrgusüsteemis ja sünkroniseerimissüsteemis.
Tokio sisaldab järgmist:
- Mitme lõime sisendi/väljundi aja lugeja, mis annab ressursse ainult neile lõimedele (paralleelse käitamise kontekstis), mis vastavad konkreetsetele tingimustele, vältides defcon'e, mis on tavalised keeles, kus ei ole ohutut mälu- ja ressursihaldust.
- Tagumine süsteem, mis tagab ühilduvuse erinevates operatsioonisüsteemides pakutud sidemultipleximise mehhanismidega, nagu epoll, kqueue ja IOCP;
- Tüübid ja sidemed asünkroonsete TCP- ja UDP-sokettide teostamiseks.
- Tööristad asünkroonsete ülesannete täitmiseks, sealhulgas sünkroniseerimise primitiivid, kanalid ja ootetähtaegu.
- API asünkr2018; sisendi/väljundi täitmiseks, mis hõlmab TCP/UDP-sokette, failitegevusi, signaalide ja protsesside haldamise vahendeid.
Arendajad märgivad oma toote omadusi, nagu kõrge jõudlus, võrreldav "palja raudvara" kiirus, suurepärane skaleeritavus ja usaldusväärsus, mida tagab Rust keele tüüpide süsteem ja paralleelsuse mudel.
Repositooriumis on üle 500 osaleja, sealhulgas AWS, Azure, Comcast, Dropbox ja Facebook. Tokio kasutab sõltuvustena järgmisi tooteid:
- hyper: kiire ja ohutu HTTP/1 ja HTTP/2 rakendus Rust'ile;
- warp: kerge raamistik, veebiserver, suunatud kõrgele kiirusetööle;
- tracing: rakenduste tasandi jälgimise ja diagnostika raamistik, mis arvestab asünkroonilisust;
- rdbc: MySQL, Postgres ja SQLite andmebaaside ühendamise raamatukogu Rust keeles kirjutatud toodetega;
- bytes: utiliidid baitide töötlemiseks, sealhulgas tõhusad baidivaatlusbuferid.
Allikas: opennet.ru
