diff options
| author | eunhhu <[email protected]> | 2026-09-28 16:57:14 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-28 16:57:14 +0100 |
| commit | 502f70dbd66debcf1cb0328427831ec14926504b (patch) | |
| tree | 87c96959c47fe4093e100cadeec992a6954e4604 /store/digest.h | |
| parent | 5e4cf1629482a2b36d229ffb0005ce31046eaa6c (diff) | |
| download | pure-502f70dbd66debcf1cb0328427831ec14926504b.tar.gz pure-502f70dbd66debcf1cb0328427831ec14926504b.zip | |
Redesign 011: no connections, the transport's state as the app's data
The first draft replaced a few of QUIC's layers with what Pure already
has, every technique known and the gains constant factors, and it kept
the connection. This one removes it. Nodes have keys, links are the app's
wiring, paths are a cache of where the last authenticated packet came
from, and a link's transport state (key epoch, stored-through number,
heard numbers, packet-number reservation) is a row committed atomically
with the app's state; memory holds only active links and per-path
congestion state. So a restart of either node is invisible to the other
(no handshake, nothing lost or doubled), an idle link costs a row on
disk rather than process memory, and moving the store moves its links.
Forward secrecy comes from key epochs rather than per-connection
handshakes; replay protection survives restarts because heard numbers
are stored with the events they applied (OSCORE, the closest prior art,
needs an Echo round trip there).
Hypotheses H1-H4 and a measurement plan against quinn and ngtcp2:
memory per idle link at 10k to 1M links, kill -9 under load with 10k
active links, moving the store, first contact, and CPU, loss and fairness
as guardrails; stop if an idle link is not at least a hundred times
cheaper than a QUIC connection, if restarts need handshakes, or if
anything is lost or doubled. Beyond it: speculative execution of
verified, deterministic modules, for interactions that do not wait.
Diffstat (limited to 'store/digest.h')
0 files changed, 0 insertions, 0 deletions
