diff options
| author | tv <tv@krebsco.de> | 2026-11-08 19:10:03 +0000 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-08 20:18:58 +0100 |
| commit | d74538f77cb68c1836f6245b0a36f7f9d683c237 (patch) | |
| tree | d8e8be3da7a4839520d62414f4675341b1faa2aa /src/swarm/tree.rs | |
| parent | a2056647b6351797880741ea7d845657877587ed (diff) | |
screen: what a node receives judged, policy or not
Review 2, N7: a node screened received changes only while its own
document had a policy it enforces. A joiner's empty document has none,
so its first sync, as much history as the node it joins through chose,
was applied unjudged, and under signatures required unvouched; the same
for any node while the policy's own change arrived with later ones.
Sync messages, deltas and downloaded changes are now always screened,
each change judged by the policy at its dependencies (1135), so the
verdicts are the swarm's. While neither the document nor the changes
hold a policy (none touches a "policy" key: inspect::touch_key), only
an epoch's root is judged and nothing is placed: bench_screening, after
1188, measured placing everything at about as much again as applying
(564 ms + 543 ms for 100 000 changes), judging by the rules at about
five times (+2.5 s), which a document with a policy pays anyway.
access.md no longer lists the joiner's first sync, nor nodes agreeing
only as the policy reaches them (judged at the dependencies, they
agree), as left to do; changes::load_delta is for tests now.
Diffstat (limited to 'src/swarm/tree.rs')
0 files changed, 0 insertions, 0 deletions
