gall: fix high water marks for nuked agents

This commit is contained in:
Liam Fitzgerald 2023-12-11 14:49:08 -05:00
parent bb92924de1
commit b33d59814b
3 changed files with 45 additions and 13 deletions

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aec86e0302887b93c51695a08d1383257c5d54e87961a2e859b977fed2f6cdfa
size 9965085
oid sha256:c2ab6607450382e0ec80c7264dad2c72d69672eaf861eb1c24cde5a76921c6a3
size 9972490

View File

@ -2770,6 +2770,7 @@
+$ hutch [rev=@ud idx=@ud key=@]
::
+$ farm
$+ farm
$~ [%plot ~ ~]
$% [%coop p=hutch q=(map path plot)]
[%plot p=(unit plot) q=(map @ta farm)]
@ -2777,7 +2778,7 @@
::
+$ egg :: migratory agent state
$% [%nuke sky=(map spur @ud)] :: see /sys/gall $yoke
$% [%nuke sky=(map spur @ud) cop=(map coop hutch)] :: see /sys/gall $yoke
$: %live
control-duct=duct
run-nonce=@t

View File

@ -99,7 +99,7 @@
:: ken: open keen requests
::
+$ yoke
$% [%nuke sky=(map spur @ud)]
$% [%nuke sky=(map spur @ud) cop=(map coop hutch)]
$: %live
control-duct=duct
run-nonce=@t
@ -282,6 +282,29 @@
%+ turn tap-plot
|= [=path =plot]
[path (fun plot)]
::
++ gas-hutch
|= =(list [=coop =hutch])
^- (unit _farm)
?~ list
`farm
=/ nex
(put-hutch i.list)
?~ nex ~
$(farm u.nex, list t.list)
::
++ tap-hutch
=| wer=path
%- ~(gas in *(set [=coop =hutch]))
|- ^- (list [=coop =hutch])
=* loop $
?: ?=(%coop -.farm)
[wer p.farm]~
%- zing
%+ turn ~(tap by q.farm)
|= [seg=@ta f=^farm]
^- (list [=coop =hutch])
loop(wer (snoc wer seg), farm f)
--
::
++ on-path ((on @ud (pair @da (each page @uvI))) lte)
@ -484,9 +507,16 @@
code agent
agent &+agent
run-nonce (scot %uw (end 5 (shas %yoke-nonce eny)))
sky *farm
:: ?~ yak ~
:: ~ :: TODO: revive (~(run by sky.u.yak) (corl (late ~) (lead ~)))
::
sky
?~ yak *farm
=| =farm
=. farm (need (~(gas-hutch of-farm farm) ~(tap by cop.u.yak)))
=/ sky=(list [=spur bob=@ud]) ~(tap by sky.u.yak)
|-
?~ sky farm
=. farm (need (~(put of-farm farm) spur.i.sky [`bob.i.sky ~]))
$(sky t.sky)
==
::
=/ old mo-core
@ -925,10 +955,11 @@
%+ ~(jab by yokes.state) dap
|= =^yoke
?: ?=(%nuke -.yoke) yoke
:- %nuke
:+ %nuke
%- ~(run-plot of-farm sky.yoke)
|= plot
(fall (clap bob (bind (ram:on-path fan) head) max) 0)
~(tap-hutch of-farm sky.yoke)
:: +mo-load: install agents
::
++ mo-load
@ -2611,7 +2642,7 @@
%- ~(urn by eggs.old)
|= [=term e=egg-15]
^- egg
?: ?=(%nuke -.e) e(sky *(map spur @ud))
?: ?=(%nuke -.e) [%nuke ~ ~]
%= e
ken [ken.e ~ ~]
::