ИзданиС Π½Π° Rust 1.95. ДобавянС Π½Π° Rust към дисплСйния ΡΡŠΡ€Π²ΡŠΡ€ Mir. Анализатор Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊ AyaFlow Π² Rust.

Π•Π·ΠΈΠΊΡŠΡ‚ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Rust 1.95, основан ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Mozilla, Π½ΠΎ сСга Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΏΠΎΠ΄ Π΅Π³ΠΈΠ΄Π°Ρ‚Π° Π½Π° нСзависимата организация с нСстопанска Ρ†Π΅Π» Rust Foundation, бСшС пуснат. Π•Π·ΠΈΠΊΡŠΡ‚ сС фокусира Π²ΡŠΡ€Ρ…Ρƒ бСзопасността Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ прСдоставя инструмСнти Π·Π° постиганС Π½Π° висок ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΡŠΠΌ Π½Π° изпълнСниС Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠ°Ρ‚ΠΎ ΡΡŠΡ‰Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ сС справя Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‡ Π½Π° Π±ΠΎΠΊΠ»ΡƒΠΊ ΠΈ срСда Π·Π° изпълнСниС (срСдата Π·Π° изпълнСниС сС свСТда Π΄ΠΎ основна инициализация ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°).

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° Rust са ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Π΄Π° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°Ρ‚ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ Π΄Π° ΠΏΡ€Π΅Π΄ΠΏΠ°Π·Π²Π°Ρ‚ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΏΡ€ΠΎΠΈΠ·Ρ‚ΠΈΡ‡Π°Ρ‰ΠΈ ΠΎΡ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° ниско Π½ΠΈΠ²ΠΎ, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚ слСд ΠΊΠ°Ρ‚ΠΎ Π΅ Π±ΠΈΠ»Π° освободСна, Ρ€Π°Π·Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€Π°Π½Π΅ Π½Π° Π½ΡƒΠ»Π΅Π²ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ Ρ‚.Π½. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Cargo Π·Π° разпространСниС Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, улСсняванС Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° зависимоститС. Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ crates.io сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π·Π° хостванС Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

БСзопасността Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π΅ осигурСна Π² Rust ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ, прослСдяванС Π½Π° собствСността Π½Π° ΠΎΠ±Π΅ΠΊΡ‚Π°, прослСдяванС Π½Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° ΠΆΠΈΠ²ΠΎΡ‚ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚Π° (ΠΎΠ±Ρ…Π²Π°Ρ‚ΠΈ) ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ° Π½Π° корСктността Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС Π½Π° ΠΊΠΎΠ΄Π°. Rust ΡΡŠΡ‰ΠΎ осигурява Π·Π°Ρ‰ΠΈΡ‚Π° срСщу цСлочислСни ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½ΠΈΡ, изисква ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΏΡ€Π΅Π΄ΠΈ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π² стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, ΠΏΡ€ΠΈΠ»Π°Π³Π° концСпцията Π·Π° Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΈ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° силно статично въвСТданС Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° логичСскитС Π³Ρ€Π΅ΡˆΠΊΠΈ.

Основни ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ:

  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠ°ΠΊΡ€ΠΎΡΡŠΡ‚ "cfg_select!", ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° вмСсто ΠΏΠ°ΠΊΠ΅Ρ‚Π° "cfg-if" Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° мноТСство условия Π·Π° компилация Π² стила Π½Π° Π±Π»ΠΎΠΊ "match", Π±Π΅Π· Π΄Π° сС Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° Π²Π΅Ρ€ΠΈΠ³Π° ΠΎΡ‚ условни ΠΈΠ·Ρ€Π°Π·ΠΈ с конструкцията "#[cfg]". cfg_select! { unix => { fn foo() { /* unix */ } } target_pointer_width = "32" => { fn foo() { /* Π½Π΅-unix, 32-Π±ΠΈΡ‚ΠΎΠ²Π° */ } } _ => { fn foo() { /* Π½Π΅ Π΅ unix ΠΈ Π½Π΅ Π΅ 32-Π±ΠΈΡ‚ΠΎΠ²Π° */ } } }
  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ€Π°Π·ΠΈ "if let" Π² Π±Π»ΠΎΠΊΠΎΠ²Π΅ "match" Π·Π° създаванС Π½Π° условно ΡΡŠΠΏΠΎΡΡ‚Π°Π²ΡΠ½Π΅ Π½Π° шаблони Π΅ стабилизирана. ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° мноТСство ΠΈΠ·Ρ€Π°Π·ΠΈ "let" с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° "&&" бСшС стабилизирана Π·Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ "if" ΠΈ "while". match value { Some(x) if let Ok(y) = compute(x) => { println!("{}, {}", x, y); } _ => {} }
  • Π‘Ρ‚Π°Π±ΠΈΠ»ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½ асСмблСр Π·Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ PowerPC ΠΈ PowerPC64.
  • Нова част ΠΎΡ‚ API Π΅ прСмСстСна Π² катСгорията Π½Π° стабилни, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° характСристикитС са стабилизирани:
    • MaybeUninit<[T; N]>: ΠžΡ‚<[MaybeUninit Н]>
    • МоТС Π±ΠΈUninit<[T; N]>: AsRef<[МоТС Π±ΠΈUninit Н]>
    • МоТС Π±ΠΈUninit<[T; N]>: AsRef<[МоТС Π±ΠΈUninit ]>
    • МоТС Π±ΠΈUninit<[T; N]>: AsMut<[МоТС Π±ΠΈUninit Н]>
    • МоТС Π±ΠΈUninit<[T; N]>: AsMut<[МоТС Π±ΠΈUninit ]>
    • [МоТС Π±ΠΈUninit ; N]: ΠžΡ‚
    • ΠšΠ»Π΅Ρ‚ΠΊΠ°<[T; N]>: AsRef<[ΠšΠ»Π΅Ρ‚ΠΊΠ° Н]>
    • ΠšΠ»Π΅Ρ‚ΠΊΠ°<[T; N]>: AsRef<[ΠšΠ»Π΅Ρ‚ΠΊΠ° ]>
    • ΠšΠ»Π΅Ρ‚ΠΊΠ°<[T]>: AsRef<[ΠšΠ»Π΅Ρ‚ΠΊΠ° ]>
    • bool: TryFrom<{цяло число}>
    • AtomicPtr::актуализация
    • AtomicPtr::try_update
    • AtomicBool::актуализация
    • AtomicBool::try_update
    • AtomicIn::актуализация
    • AtomicIn::try_update
    • AtomicUn::актуализация
    • AtomicUn::try_update
    • cfg_select!
    • ΠΌΠΎΠ΄ ядро::Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
    • ядро::Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½::Π’ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‰Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
    • core::range::RangeInclusiveIter
    • ядро::Π½Π°ΠΌΠ΅ΠΊ::студСн_ΠΏΡŠΡ‚
    • <*const T>::as_ref_unchecked
    • <*mut T>::as_ref_unchecked
    • <*mut T>::as_mut_unchecked
    • Vec::push_mut
    • Vec::insert_mut
    • VecDeque::push_front_mut
    • VecDeque::push_back_mut
    • VecDeque::insert_mut
    • Π‘Π²ΡŠΡ€Π·Π°Π½ списък::push_front_mut
    • Π‘Π²ΡŠΡ€Π·Π°Π½ списък::push_back_mut
    • ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅::visiaci_ptr
    • ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅::ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅
    • ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅::repeat_packed
    • ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅::extend_packed
  • Π—Π½Π°ΠΊΡŠΡ‚ "const" сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° във Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:
    • fmt::from_fn
    • ControlFlow::is_break
    • ControlFlow::is_continue
  • Π’ стабилнитС вСрсии Π½Π° инструмСнтариума Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° спСцификации Π½Π° Ρ†Π΅Π»Π΅Π²Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π°.
  • Π¦Π΅Π»Π΅Π²ΠΈΡ‚Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ powerpc64-unknown-linux-musl, aarch64-apple-tvos, aarch64-apple-tvos-sim, aarch64-apple-watchos, aarch64-apple-watchos-sim, aarch64-apple-visionos ΠΈ aarch64-apple-visionos-sim са прСмСстСни към Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° 2, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π° гаранция Π·Π° компилация, Π½ΠΎ Π½Π΅ ΠΈ гаранция Π·Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° тСстовия ΠΏΠ°ΠΊΠ΅Ρ‚.

ОсвСн Ρ‚ΠΎΠ²Π° Π±ΠΈΡ…ΠΌΠ΅ искали Π΄Π° ΠΏΠΎΠ΄Ρ‡Π΅Ρ€Ρ‚Π°Π΅ΠΌ наскоро обявСнитС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΈ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Rust:

  • Canonical прСдстави дисплСйния ΡΡŠΡ€Π²ΡŠΡ€ Mir 2.26, ΠΊΠΎΠΉΡ‚ΠΎ прСдоставя Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π° създаванС Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΈ изобраТСния. ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π‘Π°Π·ΠΈΡ€Π°Π½ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Wayland ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‰ Ρ‚ΠΈΠΏΠΈΡ‡Π½Π°Ρ‚Π° функционалност Π½Π° ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈΡ‚Π΅ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅, Mir сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€Π° Π·Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ½Π³ Miracle, ΡƒΠ΅Π± киоск ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π° Π½Π° Ubuntu Frame ΠΈ потрСбитСлската срСда Miriway.

    Новата вСрсия Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅Π»Π½Π° с добавянСто Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π² Rust. Π’ Rust Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½Π° Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Π° подсистСма Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ…ΠΎΠ΄Π°, evdev-rs, ΠΈ Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Rust Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄, wayland-rs, Π·Π° Wayland. ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² Mir, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Rust, Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ‚Π΅ Π½Π° Wayland ext_image_copy_capture_v1 ΠΈ input-triggers.

  • ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° Π΅ ΠΏΡŠΡ€Π²Π°Ρ‚Π° вСрсия Π½Π° Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ayaFlow. Π’ΠΎΠΉ Π΅ написан Π½Π° Rust ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° подсистСмата eBPF Π½Π° ядрото Π½Π° Linux, Π·Π° Π΄Π° ΠΏΡ€ΠΈΡ…Π²Π°Ρ‰Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ (IPv4/TCP/UDP) ΠΈ Ethernet Ρ€Π°ΠΌΠΊΠΈ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π²ΡŠΠ·Π΄Π΅ΠΉΡΡ‚Π²ΠΈΠ΅ Π²ΡŠΡ€Ρ…Ρƒ производитСлността. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π·Π°Π΄ΡŠΠ»Π±ΠΎΡ‡Π΅Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ½ΠΎ Π½ΠΈΠ²ΠΎ (L7), ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° TLS SNI ΠΈ DNS заявки ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. БистСмата ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ‚Π°Π±Π»ΠΈΡ†Π° с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ‚Π΅ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ DashMap, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° история Π² SQLite ΠΈ прСдоставя статистика Ρ‡Ρ€Π΅Π· REST API Π½Π° Prometheus.
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° създаванС Π½Π° многонишкови прилоТСния Π½Π° Π΅Π·ΠΈΠΊΠ° Rust, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ std::thread ΠΈ изпълнявани ΠΎΡ‚ страна Π½Π° графичния процСсор.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru