aboutsummaryrefslogtreecommitdiffstats
path: root/src/config
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-08 21:56:33 +0000
committertv <tv@krebsco.de>2026-11-08 22:59:05 +0100
commit512b0f2c2ce2f51218d18943afdb36c61f99151a (patch)
treeaa5eec3708d4d329da822a10cab61aca9c3132f3 /src/config
parent64c3c47d9bbc8ca2e6352bdcf79a91b1d1669289 (diff)
state: refused writes limited for the node too
Review 3, R5: --refused-writes-per-minute bounds each user, but the cost it guards, a document copy under the write lock, is the node's: ten users, or ten accounts of one, are ten times the budget. The node now takes six times a user's limit within a minute in all (refused::NODE_FACTOR); past it, every user with a write refused within the minute is answered 429 untried, until the oldest leave it. A user none of whose writes was refused writes on, so honest writers aren't held up by others' refusals.
Diffstat (limited to 'src/config')
-rw-r--r--src/config/mod.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs
index 34ed709..4230b65 100644
--- a/src/config/mod.rs
+++ b/src/config/mod.rs
@@ -184,7 +184,7 @@ pub(crate) const OPTIONS: &[OptionSpec] = &[
Kind::Integer,
"COUNT",
Some("10"),
- "Writes a user may have refused within a minute because every node would refuse them (docs/access.md); past it, its writes are answered 429 untried for a while. Each refusal costs a copy of the document.",
+ "Writes a user may have refused within a minute because every node would refuse them (docs/access.md); past it, its writes are answered 429 untried for a while, and past six times as many on the node in all, those of every user with one refused. Each refusal costs a copy of the document.",
),
option(
"genesis-root",