shrub/pkg/arvo/sys/vane
Philip Monk 9ddc04143a
jael: provide edge-triggered breach notification
Until now, clients of Jael have had to store the first-seen rift if they
want to reliably detect breaches.  Otherwise, they would get a false
positive if they heard an old message about a breach (eg if you kick
azimuth-tracker).  Clay and Gall did this correctly, but Ames did not.

Jael already maintains this state, so I added a notification to the
existing subscription that happens whenever it notices a breach (a diff
or full where the new rift is greater than the old one).

Because this is an issue on the live network, I wrote state adapters
for Gall and Clay.  The Gall one just removes the rift from our state,
but the Clay one is much more involved because we have to upgrade
instances of the clad monad that are possibly in progress.
Specifically, since more input is possible than before, we must wrap any
in-progress instances of the monad in a function that handles the
potential new input from Jael.  This temporarily preservers a copy of
the old kernel, but only until the current commit/merge/update has
completed.

The real solution for Clay is to factor out those IO-heavy instances to
userspace tapp/async/imp/threads, and if an upgrade happens in the
middle, you should simply restart them.

Fixes #1852
2019-10-23 21:40:34 -07:00
..
alef.hoon hoon: replace barhax with barbus 2019-09-11 01:20:21 -07:00
ames.hoon jael: provide edge-triggered breach notification 2019-10-23 21:40:34 -07:00
behn.hoon behn: print error on failed %drip 2019-10-04 14:05:52 -07:00
clay.hoon jael: provide edge-triggered breach notification 2019-10-23 21:40:34 -07:00
dill.hoon Merge branch 'reclamation' (#1773) 2019-09-29 21:30:56 +04:00
eyre.hoon eyre: fix missing cancel-heartbeat-move cases 2019-10-10 20:59:39 +03:00
ford.hoon ford: clear caches in response to memory pressure 2019-10-01 11:35:08 -07:00
gall.hoon jael: provide edge-triggered breach notification 2019-10-23 21:40:34 -07:00
iris.hoon arvo: wires up %trim memory-pressure event stubs 2019-09-27 13:02:11 -07:00
jael.hoon jael: provide edge-triggered breach notification 2019-10-23 21:40:34 -07:00
xmas.hoon Replace (fall (~(get by calls with (~(gut by 2019-06-30 18:13:34 +02:00