Three Threads, One Terminal: Concurrency in Rust with Channels and Atomics
rust
dev.to
This is part of a series of posts about building b.roll, a terminal session recorder and search tool written in Rust. If you're just joining, here are the previous posts: Building a 12-Command CLI in 120 Lines with clap Derive Macros Spawning a PTY in Rust: How broll Captures Your Terminal Without You Noticing When broll records a terminal session, three things need to happen at the same time: keystrokes must flow into the shell, the shell's output must appear on screen, and that output mu