diff options
| author | eunhhu <[email protected]> | 2026-10-01 08:38:47 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-10-01 08:38:47 +0100 |
| commit | 99b221927c6feb595b7758ae9bf8370054028fae (patch) | |
| tree | e8f8a90a8fa938d46276ef578876119dc4926147 /prototypes/workbench/rules.test.mjs | |
| parent | 966b82f0baf8d92e1c16e1767df63cce160fafe1 (diff) | |
| download | pure-99b221927c6feb595b7758ae9bf8370054028fae.tar.gz pure-99b221927c6feb595b7758ae9bf8370054028fae.zip | |
Send every link on one loop, not a thread each (017, 2b-1)
A link sent on a thread of its own, polling its socket and a wake. Now
the process has one sending loop (pure-send), made with the first link
started and stopped with the last closed: an epoll over the links'
sockets and one wake, sleeping until the soonest link's next time. Each
round does for every link what its thread did: answers taken when its
socket had them, its times kept, the receiver looked for again when
probes go unanswered (a new socket joins the epoll), packets sent, and
the owner told of what was stored. A queue wakes the loop only while it
sleeps, once. Events name links by number, so one closed since its
event came is not touched; answers are received into the loop's one
buffer.
A name looked up again (after three probes unanswered) waits where it
is, and every link waits with it; it was so for its own link before.
Every check passes as it did.
Diffstat (limited to 'prototypes/workbench/rules.test.mjs')
0 files changed, 0 insertions, 0 deletions
