interprocess icon indicating copy to clipboard operation
interprocess copied to clipboard

Support for other async runtimes

Open ohmree opened this issue 4 years ago • 1 comments

Is your feature request related to a problem? Please describe. At the moment this crate only supports tokio, which is a bummer because I'd like to use async-std for my app.

Describe the solution you'd like Support for using this crate with other async runtimes, preferably async-std first.

Describe alternatives you've considered

  • Switching to tokio - I think it's actually possible in my case as all of my dependencies allow either runtime to be used, but I find async-std nicer and would much rather keep using it if possible.
  • Using another ipc crate - I've tried nng and its async/non-blocking api is very unwieldy to use with idiomatic future-based async rust code.
    I'd much rather have a solution like this crate that supports the idiomatic async/await syntax.

Additional context N/A.

P.S. thanks for making this crate, it looks awesome and I can't wait to use it one way or another!

ohmree avatar Sep 15 '21 17:09 ohmree

async-std currently doesn't support Windows named pipes as far as I'm aware, so local sockets, the cross-platform IPC stream primitive that's the flagship feature of Interprocess, won't be available unless they implement it. I'll sort out Ud-sockets on async-std in 1.2.0 though (which they do support), to ship async-std local sockets faster when they add Windows named pipes on their end.

kotauskas avatar Nov 11 '21 19:11 kotauskas