diff options
| author | eunhhu <[email protected]> | 2026-09-27 07:54:35 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-27 07:54:35 +0100 |
| commit | 01c87d2c204723905457f225b3113dac82eb0ced (patch) | |
| tree | f59de0c3b6982b06f781511a27fc6c02d3857e78 /prototypes/common | |
| parent | 78e9ba927d0c6f15e0388c8a5e056d1e82e21e88 (diff) | |
| download | pure-01c87d2c204723905457f225b3113dac82eb0ced.tar.gz pure-01c87d2c204723905457f225b3113dac82eb0ced.zip | |
Send messages as part of events and apply delivered ones once (078)
An output (input kind 5) is a message the app sends; SEND (72) takes
an output's field values in order in a handler, lays them out as a
message's payload and keeps it, numbered per output from 1, with the
event's changes: a failed event sent nothing, and a failed save takes
back every send since the last save with its numbers. A host sees only
saved sends (pure_app_outbox) and trims what its receiver has saved
(pure_app_trim, gone with the next save). pure_app_deliver applies a
message from a named source once: a number heard before succeeds
without applying, a refused message counts as heard, a failed save
forgets what it heard.
Sends, numbers and heard numbers are the app's links state, stored
whole in one runtime document (PLK1) with the states, in the same
commit. Outputs follow their names across module changes; a module
that drops or retypes an output with sends left is refused, and a
dropped output's number is kept for when it returns. Killing the
process at every commit stage leaves an event and its send, or a
delivery and its effect, together or neither. pure-serve answers a
post to an output or a timer with 404 no_input.
Diffstat (limited to 'prototypes/common')
0 files changed, 0 insertions, 0 deletions
