wg-async icon indicating copy to clipboard operation
wg-async copied to clipboard

using named pipes on windows (and windows IPC more generally)

Open nikomatsakis opened this issue 4 years ago • 1 comments

  • 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-pipe crate to get a handle, but wind up casting the handle to usize to 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

nikomatsakis avatar Mar 19 '21 16:03 nikomatsakis

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.

galich avatar Mar 19 '21 17:03 galich