Skip to content
Brian Szmyd edited this page Jun 9, 2026 · 3 revisions

HomeBlocks Wiki

Engineering notes for HomeBlocks — a crash-consistent block-volume store built on HomeStore.

Pages

  • Folly to Coroutine Migration — for engineers who know the old Folly-future architecture: how the I/O path works on the new C++23 sisl::async coroutine ("v8") stack, focused on the two things that actually changed how you write code — the heap/allocation model and the threading/affinity model.

  • Coroutines as State Machines — the mental model underneath the migration: what the compiler lowers a co_await function into (frame + state-machine resume()), and how that differs from a stackful folly::fibers task. Read it if the frame/continuation/thread-hop mechanics feel like magic.

  • Coroutines vs Callbacks — why the .thenValueco_await lift is more correct, not just prettier: which bug classes coroutines delete by construction (lifetime, type, exactly-once, error propagation, RAII across the await), and which they pointedly don't (shared-state, affinity — where our real bugs live). Read it if "same thing, nicer syntax" feels too glib.

(Start here if you're picking up HomeBlocks/HomeStore after the v8 coroutine migration.)

Clone this wiki locally