wg-async
wg-async copied to clipboard
using named pipes on windows (and windows IPC more generally)
- Character: Alan
- Brief summary:
- Alan is working on a Windows App that uses IPC internally to communicate between processes, and named pipes in particular. The existing serves mostly don't support his needs. He has to roll his own support.
- At some point, there were multiple versions of winapi in use (an olfder one from tokio, one from elsewhere) and it caused large compilation times; since resolved.
- Uses the
tokio-named-pipecrate to get a handle, but wind up casting the handle tousizeto actually pass it around (not 100% sure of the details here)
- Key points or morals (if known):
- Rust's async runtimes are often quite focused on linux. They won't support a lot of windows primitives.
- Sources:
- @galich told me about this
An example where named pipes support on Windows is falling behind: https://crates.io/crates/tokio-named-pipes is updated 2 years ago, it references mio 0.6 and tokio 0.1, mio 0.6 references winapi 0.2, while most of eco system is on winapi 0.3. Winapi is a pretty big crate that takes roughly 60 sec to compile. Having two copies of it adds extra 60 sec to the build process.