mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
Merge final terminal backpressure documentation
Co-authored-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@buzz.block.builderlab.xyz> Signed-off-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@buzz.block.builderlab.xyz> * commit '232f56b67219613ddb1fd6628a73ae31bd1156a5': docs(terminal): say why tail_full cannot fire, not just that nothing calls it Signed-off-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@buzz.block.builderlab.xyz>
This commit is contained in:
commit
df19569e7c
@@ -112,14 +112,19 @@ impl Feeder {
|
||||
/// exactly how a paused reader strands a child mid-teardown; a reader that
|
||||
/// simply stops asking resumes by default.
|
||||
///
|
||||
/// **Not yet consumed in production.** The runtime reader pumps
|
||||
/// [`Feeder::drain`] to completion after every read, so the tail cannot
|
||||
/// currently grow to the cap and nothing needs to ask. This signal exists
|
||||
/// for the reader that stops pumping -- it is the queue bound, and the
|
||||
/// pump loop is the only reason the queue bound is not load-bearing
|
||||
/// today. Stated rather than left to be inferred from an empty
|
||||
/// call-graph: an unused signal that looks wired is worse than one that
|
||||
/// says it isn't.
|
||||
/// **No production consumer today, and not an oversight.** The runtime
|
||||
/// reader pumps [`Feeder::drain`] to completion after every read
|
||||
/// (`terminal_runtime.rs`), so the tail is empty between iterations and
|
||||
/// this can never go true -- measured 0 bytes high-water against 1 MiB of
|
||||
/// pure RIS, the densest atom there is. It exists for a future reader
|
||||
/// that defers pumping, and such a reader **must** consult it: without
|
||||
/// the pump loop the same stream reaches [`TAIL_CAP`] in 257 reads of
|
||||
/// 16 KiB.
|
||||
///
|
||||
/// The numbers are here rather than "nothing calls this" because the
|
||||
/// signal and the loop are one fact from two sides. Delete the loop and
|
||||
/// this predicate stops being unreachable in the same instant it starts
|
||||
/// being needed.
|
||||
pub fn tail_full(&self) -> bool {
|
||||
self.pending_bytes() >= TAIL_CAP
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user