mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-11-24 10:33:22 +03:00
gall: support %doff-ing specific apps and/or ships
This gives us more control over exactly which subscriptions get culled, which is useful in debugging and targetted recovery scenarios.
This commit is contained in:
parent
6b836bb56d
commit
04b7b86cae
@ -1,5 +1,6 @@
|
|||||||
:- %say
|
:- %say
|
||||||
|= $: [now=@da eny=@uvJ bec=beak]
|
|= $: [now=@da eny=@uvJ bec=beak]
|
||||||
[~ ~]
|
~
|
||||||
|
[dude=(unit dude:gall) ship=(unit ship)]
|
||||||
==
|
==
|
||||||
[%helm-doff ~]
|
[%helm-doff dude ship]
|
||||||
|
@ -261,9 +261,9 @@
|
|||||||
(emit %pass /helm/cors/reject %arvo %e %reject-origin origin)
|
(emit %pass /helm/cors/reject %arvo %e %reject-origin origin)
|
||||||
::
|
::
|
||||||
++ poke-doff
|
++ poke-doff
|
||||||
|= ~
|
|= [dude=(unit dude:gall) ship=(unit ship)]
|
||||||
=< abet
|
=< abet
|
||||||
(emit %pass /helm/doff %arvo %g %doff ~)
|
(emit %pass /helm/doff %arvo %g %doff dude ship)
|
||||||
::
|
::
|
||||||
++ poke
|
++ poke
|
||||||
|= [=mark =vase]
|
|= [=mark =vase]
|
||||||
|
@ -1659,7 +1659,7 @@
|
|||||||
[%jolt =desk =dude] :: (re)start agent
|
[%jolt =desk =dude] :: (re)start agent
|
||||||
[%idle =dude] :: suspend agent
|
[%idle =dude] :: suspend agent
|
||||||
[%nuke =dude] :: delete agent
|
[%nuke =dude] :: delete agent
|
||||||
[%doff ~] :: kill subscriptions
|
[%doff dude=(unit dude) ship=(unit ship)] :: kill subscriptions
|
||||||
$>(%init vane-task) :: set owner
|
$>(%init vane-task) :: set owner
|
||||||
$>(%trim vane-task) :: trim state
|
$>(%trim vane-task) :: trim state
|
||||||
$>(%vega vane-task) :: report upgrade
|
$>(%vega vane-task) :: report upgrade
|
||||||
|
@ -432,12 +432,15 @@
|
|||||||
:: +mo-doff: kill all outgoing subscriptions
|
:: +mo-doff: kill all outgoing subscriptions
|
||||||
::
|
::
|
||||||
++ mo-doff
|
++ mo-doff
|
||||||
|
|= [dude=(unit dude) ship=(unit ship)]
|
||||||
^+ mo-core
|
^+ mo-core
|
||||||
=/ apps ~(tap by yokes.state)
|
=/ apps=(list (pair term yoke))
|
||||||
|
?~ dude ~(tap by yokes.state)
|
||||||
|
(drop (bind (~(get by yokes.state) u.dude) (lead u.dude)))
|
||||||
|- ^+ mo-core
|
|- ^+ mo-core
|
||||||
?~ apps mo-core
|
?~ apps mo-core
|
||||||
=/ ap-core (ap-yoke:ap:mo-core p.i.apps [~ our] q.i.apps)
|
=/ ap-core (ap-yoke:ap:mo-core p.i.apps [~ our] q.i.apps)
|
||||||
$(apps t.apps, mo-core ap-abet:ap-doff:ap-core)
|
$(apps t.apps, mo-core ap-abet:(ap-doff:ap-core ship))
|
||||||
:: +mo-receive-core: receives an app core built by %ford.
|
:: +mo-receive-core: receives an app core built by %ford.
|
||||||
::
|
::
|
||||||
:: Presuming we receive a good core, we first check to see if the agent
|
:: Presuming we receive a good core, we first check to see if the agent
|
||||||
@ -1767,11 +1770,14 @@
|
|||||||
:: request queue fix. This includes nonce 0, which no longer exists.
|
:: request queue fix. This includes nonce 0, which no longer exists.
|
||||||
::
|
::
|
||||||
++ ap-doff
|
++ ap-doff
|
||||||
|
|= ship=(unit ship)
|
||||||
^+ ap-core
|
^+ ap-core
|
||||||
=/ subs ~(tap in ~(key by boat.yoke))
|
=/ subs ~(tap in ~(key by boat.yoke))
|
||||||
|- ^+ ap-core
|
|- ^+ ap-core
|
||||||
?~ subs ap-core
|
?~ subs ap-core
|
||||||
=+ [wyr dok]=i.subs
|
=+ [wyr dok]=i.subs
|
||||||
|
?. |(?=(~ ship) =(u.ship ship.dok))
|
||||||
|
$(subs t.subs)
|
||||||
=/ let (~(got by boar.yoke) wyr dok)
|
=/ let (~(got by boar.yoke) wyr dok)
|
||||||
|- ^+ ap-core
|
|- ^+ ap-core
|
||||||
~> %slog.[0 leaf+"gall: +ap-doff {<[agent-name wyr dok let]>}"]
|
~> %slog.[0 leaf+"gall: +ap-doff {<[agent-name wyr dok let]>}"]
|
||||||
@ -1977,7 +1983,7 @@
|
|||||||
%jolt mo-abet:(mo-jolt:mo-core dude.task our desk.task)
|
%jolt mo-abet:(mo-jolt:mo-core dude.task our desk.task)
|
||||||
%idle mo-abet:(mo-idle:mo-core dude.task)
|
%idle mo-abet:(mo-idle:mo-core dude.task)
|
||||||
%nuke mo-abet:(mo-nuke:mo-core dude.task)
|
%nuke mo-abet:(mo-nuke:mo-core dude.task)
|
||||||
%doff mo-abet:mo-doff:mo-core
|
%doff mo-abet:(mo-doff:mo-core +.task)
|
||||||
%spew mo-abet:(mo-spew:mo-core veb.task)
|
%spew mo-abet:(mo-spew:mo-core veb.task)
|
||||||
%sift mo-abet:(mo-sift:mo-core dudes.task)
|
%sift mo-abet:(mo-sift:mo-core dudes.task)
|
||||||
%trim [~ gall-payload]
|
%trim [~ gall-payload]
|
||||||
|
Loading…
Reference in New Issue
Block a user