diff options
| author | eunhhu <[email protected]> | 2026-09-29 16:55:04 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-29 16:55:04 +0100 |
| commit | c494ec7a37ff4863d420b4a9ccbe1df93e88de2d (patch) | |
| tree | 5d0ef99f9368fdabfb48c34e322d881010a06dbc /link/link-protocol.h | |
| parent | 2a9960f086eeccf2ee58decc11b6d3f2de13699e (diff) | |
| download | pure-c494ec7a37ff4863d420b4a9ccbe1df93e88de2d.tar.gz pure-c494ec7a37ff4863d420b4a9ccbe1df93e88de2d.zip | |
Remember the epoch of each of a peer's runs that send, not one
A receiver's memo kept one run's epoch a peer. A node whose outputs
send to this one sends in a run each, so after the receiver started
again (or let the peer rest) all runs but the last accepted were told
LOST and began their epochs again: records under the static keys for a
round trip, and an X25519 each. Now a run whose peer's place holds
another run still sending keeps its epoch beside, in one of two of
1,024 places its peer and run find (160 KiB at the file's head: the
memo is PLM3, and a PLM2 one is begun again). A run's place beside goes
once its peer's place has it, so an epoch's secrets stay only until the
next one's are.
test-link's three outputs of one node, each in epoch 1, go on after the
receiver starts again: no LOST, no X25519 (before: two LOSTs, an
accept). 012 says so.
Diffstat (limited to 'link/link-protocol.h')
| -rw-r--r-- | link/link-protocol.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/link/link-protocol.h b/link/link-protocol.h index df15246..f131e99 100644 --- a/link/link-protocol.h +++ b/link/link-protocol.h @@ -244,7 +244,9 @@ void pure_link_idle(PureLinkReceiver *, uint64_t ms); * (path, 0600; begun again for another node's key): a place a sender in * the order allowed, mapped, so a sender at rest takes no memory for it. * A node that starts again then makes no X25519 for a sender it heard from - * before. After the senders are allowed, before the first packet. */ + * before, and goes on in the epoch of each of its runs (a key's runs that + * send beside its first, as a node's outputs to this one do, in 1,024 + * places beside). After the senders are allowed, before the first packet. */ bool pure_link_remember(PureLinkReceiver *, const char *path, char *error, size_t size); /* A packet that came from an address (from_size bytes, at most * PURE_LINK_ADDRESS kept): answers to its sender go there. */ |
