Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions src/cache/envelope.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,22 @@
//! three different answers: a drop is reported at `failure` rather than
//! `notice`, a drain steps over a bad entry instead of stopping at it, and a
//! counter that fails its own envelope is rebuilt rather than emptying the
//! queue. Nothing in this tree holds a queue, so none of the three is written
//! here, and #47 is where they belong.
//! queue. None of the three is written here, and #47 is where they belong.
//!
//! What holds all three is that nothing puts a queue entry in an envelope at
//! all. [`crate::server::write_queue`] keeps the queue in memory for as long as
//! the value lives and says of itself that its durability is unbuilt and that no
//! drain runs, so there is no stored queue entry for one of these checks to
//! refuse and no drain for one of them to continue past.
//!
//! THIS PARAGRAPH GAVE A DIFFERENT REASON: THAT NOTHING IN THIS TREE HOLDS A
//! QUEUE. That was the tree on 2026-08-28, when this section was written. The
//! queue arrived two days later, in a change under `src/server/` that had no
//! reason to open a `What is not here` section in the cache, and the module says
//! in its own words that it holds the queue a drain would walk. The conclusion
//! did not move and the reason did, which is why the reason is replaced with the
//! one that survives the queue arriving rather than corrected to a second one
//! that would not. #412 is where it was found.

use core::sync::atomic::{AtomicU64, Ordering};

Expand Down
Loading