aboutsummaryrefslogtreecommitdiffstats
path: root/research/experiments/028-one-sending-loop/src.aup
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-10-01 08:38:47 +0100
committereunhhu <[email protected]>2026-10-01 08:38:47 +0100
commit99b221927c6feb595b7758ae9bf8370054028fae (patch)
treee8f8a90a8fa938d46276ef578876119dc4926147 /research/experiments/028-one-sending-loop/src.aup
parent966b82f0baf8d92e1c16e1767df63cce160fafe1 (diff)
downloadpure-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 'research/experiments/028-one-sending-loop/src.aup')
0 files changed, 0 insertions, 0 deletions