Runtimes, Wakers, and the Reactor-Executor Pattern 172 2. Copy the future. rs and http. rs files in the src folder from the first project we created in Chapter 7, named a-coroutine (alternatively, copy the files from ch07/a-coroutine in the book's repository) to the src folder in our new project. 3. Make sure to add mio as a dependency by adding the following to Cargo. toml : [dependencies] mio = { version = "0. 8", features = ["net", "os-poll"] } 4. Create a new file in the src folder called runtime. rs. We'll use corofy to change the following coroutine/wait program into its state machine representation that we can run. In src/main. rs, add the following code: ch08/a-runtime/src/main. rs mod future; mod http; mod runtime; use future::{Future, Poll State}; use runtime::Runtime; fn main() { let future = async_main(); let mut runtime = Runtime::new(); runtime. block_on(future); } coroutine fn async_main() { println!("Program starting"); let txt = http::Http::get("/600/Hello Async Await"). wait; println!("{txt}"); let txt = http::Http::get("/400/Hello Async Await"). wait; println!("{txt}"); }