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.
Now that we have promise-based IO, it would be nice to have something similar to Rust's
mpsc
with an interface likegj::io::tcp
orgj::io::unix
which returns aPromise
.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 andtry_accept()
ing off ampsc
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.