Tokio platformanın 1.13.0 versiyası buraxıldı ki, bu da Rust dilində yüksək performanslı, hadisə yönümlü (Event-driven) arxitekturaya əsaslanan tətbiqlərin yaradılması üçün nəzərdə tutulub, eyni zamanda çox iplikli işləmə və şəbəkə sorğularının asinxron rejimdə işlənməsini dəstəkləyir. Layihə Rust dilində yazılıb və MIT lisenziyası altında yayılır. Yeni versiyada sənədlərin genişləndirilməsi, şəbəkə alt sistemindəki bir sıra düzəlişlər və sinxronizasiya sistemi qeyd olunur.
Tokio aşağıdakı komponentləri əhatə edir:
- Çox iplikli giriş/çıxış planlayıcısı, işi yalnız spesifik şərtlərə cavab verən ipliklərə resurslar təqdim etməkdən ibarətdir (paralel yerinə yetirmə kontekstində), bu da yaddaş və resursların təhlükəsiz idarə olunmadığı dillərdə tez-tez rast gəlinən yarış vəziyyətlərini qarşısını alır;
- Müxtəlif əməliyyat sistemlərində təqdim edilən bağlantı çoxaltma mexanizmləri ilə uyğunluq təmin etmək üçün backend, məsələn, epoll, kqueue və IOCP;
- Asinxron TCP və UDP soketlərinin həyata keçirilməsi üçün tiplər və bağlamalar.
- Asinxron rejimdə vəzifələri yerinə yetirmək üçün alətlər, o cümlədən sinxronizasiya primitivləri, kanallar və zaman aşımı.
- TCP/UDP soketləri, fayl əməliyyatları, siqnalları və prosesləri idarə etməyi əhatə edən asinxron giriş/çıxış yerinə yetirmək üçün API.
Tərtibatçılar məhsullarının yüksək performans, 'çıxmağı' bənzər sürət, mükəmməl genişlənə bilənlik və Rust dilinin tip sistemi və paralelizm modelinin təmin etdiyi etibarlılıq kimi xüsusiyyətlərini vurğulayırlar.
Depoda 500-dən çox iştirakçı var, bunlar arasında AWS, Azure, Comcast, Dropbox və Facebook nümayəndələri var. Tokio-da asılılıq kimi aşağıdakı məhsullar istifadə olunur:
- hyper: Rust üçün HTTP/1 və HTTP/2-nin sürətli və təhlükəsiz həyata keçirilməsi;
- warp: yüngül çərçivə web-server, yüksək iş sürətinə yönəldilmiş;
- tracing: asinxronluğu nəzərə alan tətbiq səviyyəsində izləme və diaqnostika çərçivəsi;
- rdbc: Rust proqramlama dilində MySQL, Postgres və SQLite verilənlər bazalarına qoşulmaq üçün kitabxana;
- bytes: baytlarla işləmək üçün utilitlər, o cümlədən effektiv bayt buferləri.
Mənbə: opennet.ru
