Asynchronous Programming

cat-asynchronous

Crates to help you deal with events independently of the main program flow, using techniques like futures, promises, waiting, or eventing.

Useful Crates

Async Basics

Futures

Tokio Runtime

RecipeCratesCategories
Basicstokiocat-asynchronous
Jointokiocat-asynchronous
Spawningtokiocat-asynchronous
IOtokiocat-asynchronous
Graceful Shutdowntokio_graceful_shutdowncat-asynchronous

Async Channels

Async Traits

RecipeCratesCategories
Async Traitsasync-traitcat-asynchronous

Streams

RecipeCratesCategories
Streamsfuturescat-asynchronous

Calling Async from Blocking Code and Vice Versa

Async Utilities

Networking / Websocket / HTTP

tokio-tungstenite, hyper, reqwest.

  • Network Programming.
  • Web Programming HTTP Client.
  • Web Programming HTTP Server.
  • Web Programming Websocket.

Concurrency: tokio::sync, async-channel

  • Concurrency.
  • Concurrent Data Structures.
  • Async Channels.