Async Rust

Configurable CLI Application you own this product

This project is part of the liveProject series A Load Test CLI with Async Rust
prerequisites
intermediate Rust
skills learned
design CLI applications • parse user input
Marco Amann
1 week · 4-6 hours per week · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Look inside

Svalbard is quickly becoming a household name as customers all over the world bring the online store’s furniture into their homes. But Svalbard’s backend applications run on legacy mainframes that are increasingly expensive to scale. That’s why the store has adopted a more flexible modern deployment model. As a Rust programmer, your task is to provide its developers and operators with a load-testing CLI tool that simulates a multitude of real-world scenarios.

Using Tokio, Serde, and clap, you’ll add functionality for users to configure the number of connections and requests, as well as other parameters. You’ll gather and display immediate feedback, empowering users to spot and correct misconfiguration early on. You’ll calculate statistics on latencies in your application and display them in human- and machine-readable output, providing the maximum benefit from the gathered data. When you’re done, you’ll have a CLI that delivers users high configurability, reliable signal handling, and a means of providing immediate feedback for more nimble, cost-effective results.

This project is designed for learning purposes and is not a complete, production-ready application or solution.

book resources

When you start your liveProject, you get full access to the following books for 90 days.

project author

Marco Amann

Marco Amann is a software engineer at AxonIQ where he develops robust distributed systems. He has leveraged Rust in both professional and personal endeavors to build applications spanning a wide range of areas. He has co-authored a German language book about Rust, and spoken at workshops and conferences on topics such as embedded Rust on an STM32 and making APIs safer by adhering to rules about borrowing. Visit his blog at amann.dev.

prerequisites

This liveProject is for Rust programmers who are familiar with Rust syntax and its ownership system and who want to write reliable, efficient code. To begin these liveProjects you’ll need to be familiar with the following:

TOOLS
  • intermediate Rust
  • Cargo
  • CLIs
  • Your favorite IDE or editor
TECHNIQUES
  • Multi-threading basics
  • Statistics basics

you will learn

In this liveProject, you’ll learn to create a polished, pleasant-to-use, configurable CLI application.

  • Use the Option and Result types to express your intentions
  • Read the official Rust documentation and decide which approach to use for a given problem
  • Gather intermediate results from async tasks
  • Parse CLI parameters
  • Provide visually pleasing output on the CLI
  • Select and use existing libraries to perform given tasks

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Configurable CLI Application project for free