As it turns out multi-threaded asynchronous web servers are much harder to write than I expected in Rust. Haven't had an issue with the borrow checker/lifetimes until I realized that passing shared memory is probably not the way to go for what I'm doing.
At least in my case(RTC server) I realize it makes more sense to not rely on using threads to take incoming message to broadcast on one thread and broadcast on another thread. Instead it makes more sense to have a special data structure that actually organizes connections and manages its own data.
>being organized makes things easier
who would have thought