A crate for racing Future
s and getting ranked results back.
```rs use tokio::time::sleep; use std::time::Duration;
use speedracer::RaceTrack;
async fn main() { let mut racetrack = RaceTrack::disqualifyafter(Duration::from_millis(300));
racetrack.addracer("Racer #1", async move { sleep(std::time::Duration::frommillis(100)).await; Ok(()) }); racetrack.addracer("Racer #2", async move { sleep(std::time::Duration::fromsecs(200)).await; Ok(()) }); racetrack.addracer("Racer #3", async move { sleep(std::time::Duration::from_secs(700)).await; Ok(()) });
racetrack.run().await; let rankings = racetrack.rankings();
asserteq!(rankings[0].name, "Racer #1"); asserteq!(rankings[1].name, "Racer #2"); asserteq!(rankings[2].name, "Racer #3"); asserteq!(rankings[2].disqualified, true); } ```