mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-28 02:18:50 +00:00
In a prior design of the relay and the `phoenix-channel`, connecting to the portal was a blocking operation, i.e. we weren't meant to start the relaying operations before the portal connection succeeded. Since then, `phoenix-channel` got refactored to have an internal (re)-connection mechanism, meaning we don't actually need to `.await` anything to obtain a `PhoenixChannel` instance that we can use to initialize the `Server`. Furthermore, we changed the health-check to return 200 OK prior to the portal connection being established in #4553. Taking both of these into account, there is no more need to block on the portal connection being established, which allows us to remove the use of `phoenix_channel::init` and connect in the background whilst we already accept STUN & TURN traffic.
Rust development guide
Firezone uses Rust for all data plane components. This directory contains the Linux and Windows clients, and low-level networking implementations related to STUN/TURN.
We target the last stable release of Rust using rust-toolchain.toml.
If you are using rustup, that is automatically handled for you.
Otherwise, ensure you have the latest stable version of Rust installed.