Hi
many thanks for that tutorial, really interesting! I just got one question:
You state the reactor parks our future in case we return
Ok(Async::NotReady)
But here, you seem to notify the reactor to unpark before we return Ok(Async::NotReady):
println!("not ready yet --> {:?}", self); futures::task::current().notify(); Ok(Async::NotReady)
So the reactor gets a notification to unpark something that's not yet been parked, doesn't it? ;-)
Ah yes it's true. It's an horrible way of simulating the external unpark command :)
Ideally this command should be issued by another "entity" (for example the OS in case of async IO).
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Hi
many thanks for that tutorial, really interesting! I just got one question:
You state the reactor parks our future in case we return
But here, you seem to notify the reactor to unpark before we return Ok(Async::NotReady):
So the reactor gets a notification to unpark something that's not yet been parked, doesn't it? ;-)
Ah yes it's true.
It's an horrible way of simulating the external unpark command :)
Ideally this command should be issued by another "entity" (for example the OS in case of async IO).