diff options
| author | tv <tv@krebsco.de> | 2026-11-09 15:24:00 +0000 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-09 18:12:24 +0100 |
| commit | dfea49e0871b78d2b6856eec80c5cd5a7f501dff (patch) | |
| tree | eaddc72605305588b92750da1d1769fa48cd4275 /src/swarm/tree.rs | |
| parent | acef27d042b2b9f7fa1974de0759a1c517cbb942 (diff) | |
signatures: up to 4096 in a message, each actor's latest past them
Review 4, F5: a delta, and a message whose changes held more than 256 signatures (a
whole document pulled, of any real history), carried each actor's latest signature,
the 256 that became latest last. An actor is a node's run, so past 256 runs writing in
an epoch, some actors' changes arrived unvouched at the puller under a policy requiring
signatures, waited, and every resend carried the same 256: a joiner never finished.
A message now carries up to 4096 signatures (`MAX_PER_MESSAGE`, as many as wait for
their changes, `MAX_PENDING`: 384 KiB at most), all of its changes' up to there, each
actor's latest past it and for a delta, and a receiver takes as many (wire version
47). An epoch with more than 4096 runs writing would still leave some unvouched in
such a transfer, which the constant says; sending each actor of the transfer its own
latest would need the actors of a delta's changes, which only rebuilding their
metadata gives.
Diffstat (limited to 'src/swarm/tree.rs')
0 files changed, 0 insertions, 0 deletions
