The Itinera bookRust edition

Rust edition

Contents

The Itinera book for Rust, in reading order. It follows the plan that every language's book shares, BOOK.md, which also says what each chapter covers. Every program the chapters show is complete: those in examples run with cargo run --example NAME from the book's rust directory.

Welcome

Part 1: Why Itinera

  1. But why Itinera?
  2. The big picture

Part 2: Getting started

  1. Installing Itinera
  2. A first step
  3. A first journey
  4. Passing data on
  5. Giving a step the tools it needs
  6. Seeing what happened
  7. Saying what only a step knows
  8. More than one reporter
  9. Naming a journey
  10. Trying again
  11. A carrier for each attempt
  12. Repairing, then trying once more
  13. Reacting to what a step did
  14. Skipping a step
  15. Giving up a step early
  16. Doing something when the journey ends
  17. Letting policies act on the outside world
  18. An optional input
  19. Deciding where a step's data comes from

Part 3: Controlling the flow

  1. Finishing a journey early
  2. Undoing a charge when the shipping fails

Part 4: Running it for real

  1. Running many journeys
  2. Reading the result
  3. Running async journeys while others wait
  4. Testing a step alone
  5. Testing a hook or an adapter alone
  6. Testing the flow with scripted steps
  7. Testing a whole journey
  8. Stopping a journey when its log fails
  9. Seeing every event of a journey
  10. Giving every reporter what it needs
  11. Saying which attempt took the money
  12. Giving the rescue step a service of its own
  13. Orders refused before they start
  14. Mistakes caught before a journey
  15. Declaring by hand

Part 5: Designing with Itinera

  1. Deciding where a decision belongs
  2. Recognising a decision in the wrong place
  3. Bringing Itinera into existing code
  4. Using a step in another workflow
  5. Working with agents

Appendices