Improving our example 1 – variables
So, let’s recap what we have at this point by continuing where we left off in the previous chapter. We have the following:
- A
Future
trait - A coroutine implementation using coroutine/await syntax and a preprocessor
- A reactor based on
mio::Poll
- An executor that allows us to spawn as many top-level tasks as we want and schedules the ones that are ready to run
- An HTTP client that only makes HTTP GET requests to our local delayserver instance
It’s not that bad – we might argue that our HTTP client is a little bit limited, but that’s not the focus of this book, so we can live with that. Our coroutine implementation, however, is severely limited. Let’s take a look at how we can make our coroutines slightly more useful.
The biggest downside with our current implementation is that nothing – and I mean nothing – can live across wait points. It makes sense to tackle this...