Code accompanying the 1 Hour Dive into Async live stream.

Overview

1 Hour Async

This is the code accompanying the 1 Hour Dive into Async live-stream.

Included Projects

  1. Block On with Futures. Using block_on to start an async runtime.
  2. Block On with Tokio. Using block_on with options to start a Tokio runtime.
  3. Hello Tokio. Start a runtime and await your first function.
  4. Tokio Joining. Using join to run multiple tasks concurrently. Switch between single-threaded and multi-threaded execution to see the difference in output.
  5. Tokio Spawn. Spawn tasks in the background, either detached or for access later.
  6. Tokio Yield. Yield control from an async task, to ensure another one can run.
  7. Tokio Select. Select the first of several futures to return.
  8. Tokio Blocking. The right way and the wrong way to perform a blocking function in Tokio.
  9. Tokio Spawn Blocking. Spawn a blocking function in the background without tying up the Tokio runtime.
  10. Tokio MPSC Channels. Create an async channel between tasks.
  11. Tokio Multiple Channels. Create several channels and select the first one to return.
  12. Thread to Tokio. Send messages from a thread and into an async process.
  13. Tokio Stream Generators. You can use streams as generators.
  14. Tokio File IO as a Stream. Stream files to pace IO, even in a single-threaded runtime.
  15. Tracing: logging. Setup trace-based logging.
  16. Tracing: structures. Log to JSON instead.
  17. Adapting Streams. Adapt a stream in-flight and learn about pinning.
You might also like...
A tool that helps you to turn in one command a Rust crate into a Haskell Cabal library!
A tool that helps you to turn in one command a Rust crate into a Haskell Cabal library!

cabal-pack A tool that helps you to turn in one command a Rust crate into a Haskell Cabal library! To generate bindings, you need to annotate the Rust

Bitpack a boolean into a pointer using bit magic.

ptr-bool tl;dr: a pointer and boolean with the same size as a pointer. A convenience crate used to bitpack a boolean and pointer into the same eight b

Static-checked parsing of regexes into structs

Statically-checked regex parsing into structs. This avoids common regex pitfalls like Off by one capture indexes Trying to get nonexistent captures De

A comprehensive and FREE Online Rust hacking tutorial utilizing the x64, ARM64 and ARM32 architectures going step-by-step into the world of reverse engineering Rust from scratch.
A comprehensive and FREE Online Rust hacking tutorial utilizing the x64, ARM64 and ARM32 architectures going step-by-step into the world of reverse engineering Rust from scratch.

FREE Reverse Engineering Self-Study Course HERE Hacking Rust A comprehensive and FREE Online Rust hacking tutorial utilizing the x64, ARM64 and ARM32

Conversion of .eopkg into .stone

a-piece-of-pisi Crazy time: We're building a tool to convert a selection of .eopkg packages into .stone packages to be consumed by moss-rs to vastly a

Leetcode Solutions in Rust, Advent of Code Solutions in Rust and more

RUST GYM Rust Solutions Leetcode Solutions in Rust AdventOfCode Solutions in Rust This project demostrates how to create Data Structures and to implem

:crab: Small exercises to get you used to reading and writing Rust code!
:crab: Small exercises to get you used to reading and writing Rust code!

rustlings 🦀 ❤️ Greetings and welcome to rustlings. This project contains small exercises to get you used to reading and writing Rust code. This inclu

Crabzilla provides a simple interface for running JavaScript modules alongside Rust code.

Crabzilla Crabzilla provides a simple interface for running JavaScript modules alongside Rust code. Example use crabzilla::*; use std::io::stdin; #[i

Shuttle is a library for testing concurrent Rust code

Shuttle Shuttle is a library for testing concurrent Rust code. It is an implementation of a number of randomized concurrency testing techniques, inclu

Owner
Herbert "TheBracket"
Developer of RLTK and Nox Futura open source projects, and consultant on Rust, C++, TypeScript, C#, Java, Mikrotik and anything else you want to hand my way!
Herbert
Accompanying the 5-class, 1 class per week series of Ultimate Rust: Foundations

Ultimate Rust Foundations Presented by Ardan Labs, Ultima Rust: Foundations gives you a "zero to hero" class to get you started with Rust. You'll lear

Herbert 7 May 22, 2023
An implementation of a library with the acronym for "Live In Beautiful Company"

libuwuc A libc implementation written in Rust. Layout libuwuc consists of two crates, libuwuc and rawc. libuwuc is a normal Rust library and can be un

Nilstrieb 7 Oct 6, 2023
An inquiry into nondogmatic software development. An experiment showing double performance of the code running on JVM comparing to equivalent native C code.

java-2-times-faster-than-c An experiment showing double performance of the code running on JVM comparing to equivalent native C code ⚠️ The title of t

xemantic 49 Aug 14, 2022
Taggart's Intro to Rust Stream

mttaggFerris Taggart's Intro to Rust Stream 1/5/22 https://youtu.be/UWVBp5kpxFk Interesting tidbits: Rust binaries are (usually) statically compiled,

HuskyHacks 1 Jan 6, 2022
An actors library for Rust and Tokio designed to work with async / await message handlers out of the box.

Akt An actors framework for Rust and Tokio. It is heavily inspired by Actix and right now it has very similar look and feel. The main difference is th

Artyom Kozhemiakin 7 Jan 10, 2023
syntax-level async join enabling branching control flow and shared mutable borrow

enjoin enjoin's async join macros operate at the syntax level. It allows you to... break, continue, and return out of async code running in a join for

Wisha W. 15 Apr 16, 2023
🎮 game loop + 🐷 coroutine + 🌯 burrito = 🚀🔥 blazingly synchronous async executor for games 🔥🚀

?? Koryto ?? Pronounced like corrito, which is pronounced as if you combined coroutine and burrito, because everyone knows coroutines are burritos in

Jakub Arnold 3 Jul 6, 2023
A translation of akaritakai/AdventOfCode2021 into Rust

Advent Of Code 2021 Solutions This repo contains my Advent Of Code 2021 solutions in Rust. This repo is a learning opportunity (a "my first Rust proje

Justin Kaufman 2 Feb 7, 2022
A tool to deserialize data from an input encoding, transform it and serialize it back into an output encoding.

dts A simple tool to deserialize data from an input encoding, transform it and serialize it back into an output encoding. Requires rust >= 1.56.0. Ins

null 11 Dec 14, 2022
cargo-add command to make dependencies into dylibs

cargo add-dynamic This cargo command allows to wrap dependencies as dylibs. For why you might want this see Speeding up incremental Rust compilation w

Robert Krahn 62 Dec 27, 2022