mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-09-21 15:38:59 +03:00
wip
This commit is contained in:
parent
3e1d742deb
commit
99b6111597
10
app/ph.hoon
10
app/ph.hoon
@ -139,9 +139,13 @@
|
||||
::
|
||||
:- %child-sync
|
||||
%+ compose-tests
|
||||
%+ compose-tests
|
||||
(star ~marbud)
|
||||
(touch-file ~bud)
|
||||
:: %+ compose-tests
|
||||
:: %+ compose-tests
|
||||
%+ compose-tests
|
||||
(galaxy ~bud)
|
||||
:: (reload-vane ~bud %clay)
|
||||
(raw-ship ~marbud)
|
||||
:: (touch-file ~bud)
|
||||
(check-file-touched ~marbud)
|
||||
::
|
||||
:- %individual-breach
|
||||
|
67
lib/ph.hoon
67
lib/ph.hoon
@ -109,6 +109,25 @@
|
||||
|= [a=test-core b=test-core]
|
||||
^- test-core
|
||||
=/ done-with-a |
|
||||
=>
|
||||
|%
|
||||
++ filter-a
|
||||
|= [now=@da events=(list ph-event)]
|
||||
^- (quip ph-event _..filter-a)
|
||||
=+ ^- [done=(list ph-event) other-events=(list ph-event)]
|
||||
%+ skid events
|
||||
|= e=ph-event
|
||||
=(%test-done -.e)
|
||||
?~ done
|
||||
[other-events ..filter-a]
|
||||
?> ?=(%test-done -.i.done)
|
||||
?. p.i.done
|
||||
[[%test-done |]~ ..filter-a]
|
||||
=. done-with-a &
|
||||
=/ snap-event [%snap-ships label:a ships:a]
|
||||
=^ events-start b (start:b now)
|
||||
[(welp other-events [snap-event events-start]) ..filter-a]
|
||||
--
|
||||
|%
|
||||
::
|
||||
:: Cache lookup label
|
||||
@ -131,7 +150,8 @@
|
||||
=. done-with-a &
|
||||
=/ restore-event [%restore-snap label:a]
|
||||
=^ events-start b (start:b now)
|
||||
[[restore-event events-start] ..start]
|
||||
=^ events ..filter-a (filter-a now restore-event events-start)
|
||||
[events ..start]
|
||||
=^ events a (start:a now)
|
||||
[events ..start]
|
||||
::
|
||||
@ -149,20 +169,8 @@
|
||||
=^ events b (route:b now who ovo)
|
||||
[events ..start]
|
||||
=^ events a (route:a now who ovo)
|
||||
=+ ^- [done=(list ph-event) other-events=(list ph-event)]
|
||||
%+ skid events
|
||||
|= e=ph-event
|
||||
=(%test-done -.e)
|
||||
?~ done
|
||||
[other-events ..start]
|
||||
?> ?=(%test-done -.i.done)
|
||||
~& [%transitioning label]
|
||||
?. p.i.done
|
||||
[[%test-done |]~ ..start]
|
||||
=. done-with-a &
|
||||
=/ snap-event [%snap-ships label:a ships:a]
|
||||
=^ events-start b (start:b now)
|
||||
[(welp other-events [snap-event events-start]) ..start]
|
||||
=^ events ..filter-a (filter-a now events)
|
||||
[events ..start]
|
||||
--
|
||||
::
|
||||
:: Don't use directly, or else you might not have a parent.
|
||||
@ -310,6 +318,35 @@
|
||||
(on-dojo-output her who ovo ">=" cb)
|
||||
==
|
||||
--
|
||||
::
|
||||
:: Reload vane from filesystem
|
||||
::
|
||||
:: Ship must have been started.
|
||||
::
|
||||
++ reload-vane
|
||||
|= [her=ship vane=term]
|
||||
^- test-core
|
||||
|%
|
||||
++ label :((cury cat 3) 'reload-vane-' (scot %p her) '-' vane)
|
||||
++ ships ~
|
||||
++ start
|
||||
|= now=@da
|
||||
^- (pair (list ph-event) _..start)
|
||||
=/ pax
|
||||
/(scot %p our)/home/(scot %da now)/sys/vane/[vane]/hoon
|
||||
:_ ..start
|
||||
%- zing
|
||||
:~ (dojo her "|mount %")
|
||||
(insert-file her pax .^(@t %cx pax))
|
||||
[%test-done &]~
|
||||
==
|
||||
::
|
||||
++ route
|
||||
|= [now=@da who=ship ovo=unix-effect]
|
||||
^- (quip ph-event _..start)
|
||||
`..start
|
||||
--
|
||||
::
|
||||
++ scry-aqua
|
||||
|* [a=mold now=@da pax=path]
|
||||
.^ a
|
||||
|
@ -644,7 +644,7 @@
|
||||
::
|
||||
=/ pit=vase !>(..is) ::
|
||||
=/ vil=vile (viol p.pit) :: cached reflexives
|
||||
=| $: lac=? :: laconic bit
|
||||
=| $: lac=_| :: laconic bit
|
||||
eny=@ :: entropy
|
||||
our=ship :: identity
|
||||
bud=vase :: %zuse
|
||||
|
@ -1171,6 +1171,7 @@
|
||||
?~ hat
|
||||
+>.$
|
||||
wake:(print-changes:(checkout-ankh u.hat) wen lem)
|
||||
~& [%edit our hen]
|
||||
?. =(~ dok)
|
||||
~& %already-applying-changes +>
|
||||
::
|
||||
@ -2376,6 +2377,7 @@
|
||||
++ apply-changes :: apply-changes:ze
|
||||
|= lar/(list {p/path q/misu}) :: store changes
|
||||
^- (map path blob)
|
||||
~& [%apply-changes our hen]
|
||||
=+ ^= hat :: current state
|
||||
?: =(let.dom 0) :: initial commit
|
||||
~ :: has nothing
|
||||
@ -3768,6 +3770,17 @@
|
||||
wrapped-task
|
||||
((hard task:able) p.wrapped-task)
|
||||
::
|
||||
:: only one of these should be going at once, so queue
|
||||
::
|
||||
?: &(?=(?(%info %into %merg) -.req) |(=(now tip.ruf) ?=(^ cue.ruf)))
|
||||
=. cue.ruf (~(put to cue.ruf) [hen req])
|
||||
=/ wait=(list move)
|
||||
?~(cue.ruf ~ [hen %pass /queued-request %b %wait now]~)
|
||||
[wait ..^$]
|
||||
(handle-task hen req)
|
||||
::
|
||||
++ handle-task
|
||||
|= [hen=duct req=task:able]
|
||||
^+ [*(list move) ..^$]
|
||||
?- -.req
|
||||
$boat
|
||||
@ -3823,19 +3836,13 @@
|
||||
[mos ..^$]
|
||||
::
|
||||
$info
|
||||
:: second write at :now gets enqueued with a timer to be run in next event
|
||||
::
|
||||
?: =(now tip.ruf)
|
||||
=. cue.ruf (~(put to cue.ruf) [hen req])
|
||||
=/ =move [hen %pass /queued-request %b %wait now]
|
||||
::
|
||||
[~[move] ..^$]
|
||||
:: set the last date to now so we'll know to enqueue a second write
|
||||
::
|
||||
=. tip.ruf now
|
||||
::
|
||||
?: =(%$ des.req)
|
||||
[~ ..^$]
|
||||
=> .(ruf `raft`ruf) :: TMI
|
||||
=^ mos ruf
|
||||
=/ den ((de our now ski hen ruf) our des.req)
|
||||
abet:(edit:den now dit.req)
|
||||
@ -3877,6 +3884,7 @@
|
||||
$merg :: direct state up
|
||||
?: =(%$ des.req)
|
||||
[~ ..^$]
|
||||
=> .(ruf `raft`ruf) :: TMI
|
||||
=^ mos ruf
|
||||
=/ den ((de our now ski hen ruf) our des.req)
|
||||
abet:abet:(start:(me:ze:den [her.req dem.req] ~ &) cas.req how.req)
|
||||
@ -4246,7 +4254,12 @@
|
||||
~| [%mismatched-ducts %queued queued-duct %timer hen]
|
||||
?> =(hen queued-duct)
|
||||
::
|
||||
(call hen [-:!>(*task:able) queued-task])
|
||||
=/ wait
|
||||
?~ cue.ruf
|
||||
~
|
||||
[hen %pass /queued-request %b %wait now]~
|
||||
=^ moves ..^$ (handle-task hen queued-task)
|
||||
[(weld wait moves) ..^$]
|
||||
:: =^ mos=(list move) une
|
||||
:: wake:(un our now hen ruf)
|
||||
:: [mos ..^^$]
|
||||
|
@ -5751,6 +5751,7 @@
|
||||
::
|
||||
=? state ?=(^ last-sent.live.duct-status)
|
||||
=/ old-build=^build build(date date.u.last-sent.live.duct-status)
|
||||
~& [%x-live-15 our (build-to-tape build) (build-to-tape old-build)]
|
||||
::
|
||||
(remove-anchor-from-root old-build [%duct duct])
|
||||
::
|
||||
|
Loading…
Reference in New Issue
Block a user