dwrensha / gj

event loop and promises in Rust
MIT License
110 stars 13 forks source link

gj::mpsc ? #4

Open maurer opened 8 years ago

maurer commented 8 years ago

Now that we have promise-based IO, it would be nice to have something similar to Rust's mpsc with an interface like gj::io::tcp or gj::io::unix which returns a Promise.

My particular use case is to allow a control channel so that thread 1 can spawn thread 2, which enters an infinite gj event loop, and then later thread 1 can tell thread 2 to finish its business and shut down, but it seems like this could see broader usage.

If someone not looking to develop gj is reading this, and the feature is yet unimplemented, one hack you can use is to just alternate between waiting on promises and try_accept()ing off a mpsc channel, and poking the event loop with a dummy connection that you immediately close to cause the promise to resolve and the loop to spin around.