mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-09-20 06:58:16 +03:00
clay: add +tire subscription for app state
This commit is contained in:
parent
50c22343b6
commit
9a4d754429
@ -747,6 +747,7 @@
|
||||
[%note p=@tD q=tank] :: debug message
|
||||
[%ogre p=@tas] :: delete mount point
|
||||
[%rule red=dict wit=dict] :: node r+w permissions
|
||||
[%tire p=(each rock:tire wave:tire)] :: app state
|
||||
[%writ p=riot] :: response
|
||||
[%wris p=[%da p=@da] q=(set (pair care path))] :: many changes
|
||||
== ::
|
||||
@ -776,8 +777,9 @@
|
||||
[%park des=desk yok=yoki ran=rang] :: synchronous commit
|
||||
[%perm des=desk pax=path rit=rite] :: change permissions
|
||||
[%pork ~] :: resume commit
|
||||
[%rein des=desk liv=? ren=(map dude:gall ?)] :: live
|
||||
[%rein des=desk liv=zest ren=(map dude:gall ?)] :: live
|
||||
[%stir arg=*] :: debug
|
||||
[%tire p=(unit ~)] :: app state subscribe
|
||||
[%tomb =clue] :: tombstone specific
|
||||
$>(%trim vane-task) :: trim state
|
||||
$>(%vega vane-task) :: report upgrade
|
||||
@ -928,6 +930,87 @@
|
||||
t=@da :: date
|
||||
== ::
|
||||
+$ zest $~(%dead ?(%dead %live %next)) :: how live
|
||||
:: ::
|
||||
++ tire :: app state
|
||||
|% ::
|
||||
+$ rock (map desk [=zest wic=(set weft)]) ::
|
||||
+$ wave ::
|
||||
$% [%wait =desk =weft] :: blocked
|
||||
[%warp =desk =weft] :: unblocked
|
||||
[%zest =desk =zest] :: running
|
||||
== ::
|
||||
::
|
||||
++ wash :: patch
|
||||
|= [=rock =wave]
|
||||
^+ rock
|
||||
?- -.wave
|
||||
%wait
|
||||
=/ got=[=zest wic=(set weft)]
|
||||
(~(gut by rock) desk.wave *zest ~)
|
||||
(~(put by rock) desk.wave got(wic (~(put in wic.got) weft.wave)))
|
||||
::
|
||||
%warp
|
||||
%- ~(run by rock)
|
||||
|= [=zest wic=(set weft)]
|
||||
[zest (~(del in wic) weft.wave)]
|
||||
::
|
||||
%zest
|
||||
?: ?=(%dead zest.wave)
|
||||
(~(del by rock) desk.wave)
|
||||
=/ got=[=zest wic=(set weft)]
|
||||
(~(gut by rock) desk.wave *zest ~)
|
||||
(~(put by rock) desk.wave got(zest zest.wave))
|
||||
==
|
||||
::
|
||||
++ walk :: diff
|
||||
|= [a=rock b=rock]
|
||||
^- (list wave)
|
||||
=/ adds (~(dif by b) a)
|
||||
=/ dels (~(dif by a) b)
|
||||
=/ bots (~(int by a) b)
|
||||
;: welp
|
||||
^- (list wave)
|
||||
%- zing
|
||||
%+ turn ~(tap by adds)
|
||||
|= [=desk =zest wic=(set weft)]
|
||||
^- (list wave)
|
||||
:- [%zest desk zest]
|
||||
%+ turn ~(tap in wic)
|
||||
|= =weft
|
||||
[%wait desk weft]
|
||||
::
|
||||
^- (list wave)
|
||||
%+ turn ~(tap by dels)
|
||||
|= [=desk =zest wic=(set weft)]
|
||||
^- wave
|
||||
[%zest desk %dead]
|
||||
::
|
||||
^- (list wave)
|
||||
%- zing
|
||||
%+ turn ~(tap by bots)
|
||||
|= [=desk * *]
|
||||
^- (list wave)
|
||||
=/ aa (~(got by a) desk)
|
||||
=/ bb (~(got by b) desk)
|
||||
=/ wadds (~(dif in wic.bb) wic.aa)
|
||||
=/ wdels (~(dif in wic.aa) wic.bb)
|
||||
;: welp
|
||||
?: =(zest.aa zest.bb)
|
||||
~
|
||||
[%zest desk zest.bb]~
|
||||
::
|
||||
%+ turn ~(tap by wadds)
|
||||
|= =weft
|
||||
^- wave
|
||||
[%wait desk weft]
|
||||
::
|
||||
%+ turn ~(tap by wdels)
|
||||
|= =weft
|
||||
^- wave
|
||||
[%warp desk weft]
|
||||
==
|
||||
==
|
||||
--
|
||||
::
|
||||
:: +page-to-lobe: hash a page to get a lobe.
|
||||
::
|
||||
|
@ -268,6 +268,8 @@
|
||||
mon=(map term beam) :: mount points
|
||||
hez=(unit duct) :: sync duct
|
||||
cez=(map @ta crew) :: permission groups
|
||||
tyr=(set duct) :: app subs
|
||||
tur=rock:tire :: last tire
|
||||
pud=(unit [=desk =yoki]) :: pending update
|
||||
bug=[veb=@ mas=@] :: verbosity
|
||||
== ::
|
||||
@ -1785,7 +1787,7 @@
|
||||
::
|
||||
=/ kel=weft (get-kelvin yoki)
|
||||
?. |(=(%base syd) =(kel [%zuse zuse]))
|
||||
=. wic (~(put by wic) kel yoki)
|
||||
=. wic.dom (~(put by wic.dom) kel yoki)
|
||||
%- (slog leaf+"clay: wait-for-kelvin, {<[need=zuse/zuse have=kel]>}" ~)
|
||||
..park
|
||||
::
|
||||
@ -1886,12 +1888,12 @@
|
||||
(emil (weld moves-1 moves-2))
|
||||
?. ?=(%live liv.dom.dojo.i.desks)
|
||||
$(desks t.desks)
|
||||
?~ wat=(~(get by wic.dom.dojo) kel)
|
||||
?~ wat=(~(get by wic.dom.dojo.i.desks) kel)
|
||||
:: XX should crash here
|
||||
::
|
||||
$(desks t.desks)
|
||||
=/ den ((de now rof duct ruf) our desk)
|
||||
=^ moves-3 ruf abet:(park-main:den | u.wat *rang)
|
||||
=/ den ((de now rof hen ruf) our desk.i.desks)
|
||||
=^ moves-3 ruf abet:(park-main:den | u.wat *^rang)
|
||||
=. moves-2 (weld moves-2 moves-3)
|
||||
$(desks t.desks)
|
||||
..park
|
||||
@ -4346,6 +4348,7 @@
|
||||
=. sat (apply-precedence sat)
|
||||
=^ agents ..abet (build-agents sat)
|
||||
=. ..abet (build-marks (turn sat head))
|
||||
=. ..abet tare
|
||||
(emit hen %pass /lu/load %g %load agents)
|
||||
:: +override: apply rein to bill
|
||||
::
|
||||
@ -4475,6 +4478,30 @@
|
||||
=^ =dais nub.f (build-dais:f i.marks)
|
||||
$(marks t.marks)
|
||||
$(desks t.desks)
|
||||
::
|
||||
++ tore
|
||||
^- rock:tire
|
||||
%- ~(run by dos.rom)
|
||||
|= =dojo
|
||||
[liv.dom.dojo ~(key by wic.dom.dojo)]
|
||||
::
|
||||
++ tare
|
||||
?: =(~ tyr)
|
||||
..abet
|
||||
=/ tor tore
|
||||
=/ waves=(list wave:tire) (walk:tire tur tor)
|
||||
?~ waves
|
||||
..abet
|
||||
=. tur tor
|
||||
%- emil
|
||||
%- zing
|
||||
%+ turn ~(tap in tyr)
|
||||
|= =duct
|
||||
^- (list move)
|
||||
%+ turn waves
|
||||
|= =wave:tire
|
||||
^- move
|
||||
[duct %give %tire %| wave]
|
||||
--
|
||||
--
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
@ -4703,6 +4730,14 @@
|
||||
=^ m2 ruf abet:goad:(lu now rof hen ruf)
|
||||
[(weld m1 m2) ..^$]
|
||||
==
|
||||
::
|
||||
%tire
|
||||
?~ p.req
|
||||
=. tyr.ruf (~(del in tyr.ruf) hen)
|
||||
`..^$
|
||||
=. tyr.ruf (~(put in tyr.ruf) hen)
|
||||
:_ ..^$
|
||||
[hen %give %tire %& tore:(lu now rof hen ruf)]~
|
||||
::
|
||||
%tomb (tomb-clue:tomb hen clue.req)
|
||||
%trim
|
||||
@ -5290,7 +5325,10 @@
|
||||
|= raf=raft-11
|
||||
^- raft-12
|
||||
raf(pud [pud.raf 0 0])
|
||||
:: +raft-12-to-13: add .liv and .ren to $dome's
|
||||
:: +raft-12-to-13:
|
||||
::
|
||||
:: add .liv and .ren to $dome's
|
||||
:: add .tyr and .tur to $raft
|
||||
::
|
||||
++ raft-12-to-13
|
||||
|= raf=raft-12
|
||||
@ -5300,10 +5338,13 @@
|
||||
::
|
||||
=; rof
|
||||
rof(dos.rom (~(jab by dos.rom.rof) %base |=(d=dojo d(liv.dom %live))))
|
||||
^- raft-13
|
||||
%= raf
|
||||
dos.rom (~(run by dos.rom.raf) dojo-11-to-13)
|
||||
hoy (~(run by hoy.raf) rung-11-to-13)
|
||||
hoy (~(run by hoy.raf) rung-11-to-13)
|
||||
|6 [&7.raf ~ ~ |7.raf]
|
||||
==
|
||||
::
|
||||
++ dojo-11-to-13
|
||||
|= doj=dojo-11
|
||||
^- dojo
|
||||
@ -5322,7 +5363,7 @@
|
||||
++ dome-11-to-13
|
||||
|= dom=dome-11
|
||||
^- dome
|
||||
dom(fod [fod.dom liv=%dead ren=~])
|
||||
dom(fod [fod.dom ~ liv=%dead ren=~])
|
||||
--
|
||||
--
|
||||
::
|
||||
|
Loading…
Reference in New Issue
Block a user