mirror of
https://github.com/urbit/shrub.git
synced 2024-12-04 23:04:24 +03:00
ee1ca40f34
In /sur, /gen, /mar, /lib renamed files/folders from "talk" to "hall".
94 lines
2.5 KiB
Plaintext
94 lines
2.5 KiB
Plaintext
/+ hall
|
|
::
|
|
=> |%
|
|
++ move (pair bone card)
|
|
++ card
|
|
$% {$peel wire dock mark path}
|
|
{$poke wire dock $hall-command command:hall}
|
|
==
|
|
--
|
|
::
|
|
=, gall
|
|
|_ {hid/bowl connections/(set {app/term source/path station/knot})}
|
|
++ poke-noun
|
|
|= arg/*
|
|
^- {(list move) _+>.$}
|
|
?: ?=($list arg)
|
|
(poke-pipe-list ~)
|
|
=+ ((soft {$cancel app/term source/path station/knot}) arg)
|
|
?^ -
|
|
(poke-pipe-cancel app.u source.u station.u)
|
|
=+ ((hard {app/term source/path station/knot}) arg)
|
|
(poke-pipe-connect app source station)
|
|
::
|
|
++ poke-pipe-list
|
|
|= $~
|
|
^- {(list move) _+>.$}
|
|
%- %- slog
|
|
%+ turn ~(tap in connections)
|
|
|= {app/term source/path station/knot}
|
|
leaf+"{(trip app)}{<`path`source>} ---> {(trip station)}"
|
|
[~ +>.$]
|
|
::
|
|
++ poke-pipe-cancel
|
|
|= {app/term source/path station/knot}
|
|
^- {(list move) _+>.$}
|
|
?. (~(has in connections) [app source station])
|
|
%- %- slog :~
|
|
leaf+"no connection:"
|
|
leaf+"{(trip app)}{<`path`source>} ---> {(trip station)}"
|
|
==
|
|
[~ +>.$]
|
|
%- %- slog :~
|
|
leaf+"canceling:"
|
|
leaf+"{(trip app)}{<`path`source>} ---> {(trip station)}"
|
|
==
|
|
[~ +>.$(connections (~(del in connections) [app source station]))]
|
|
::
|
|
++ poke-pipe-connect
|
|
|= {app/term source/path station/knot}
|
|
^- {(list move) _+>.$}
|
|
:_ +>.$(connections (~(put in connections) [app source station]))
|
|
:_ ~
|
|
~& [%peeling app source station]
|
|
:* ost.hid %peel [%subscribe app station source]
|
|
[our.hid app] %hall-speeches source
|
|
==
|
|
::
|
|
++ diff-hall-speeches
|
|
|= {way/wire speeches/(list speech:hall)}
|
|
^- {(list move) _+>.$}
|
|
?> ?=({$subscribe @ @ *} way)
|
|
=+ app=(slav %tas i.t.way)
|
|
=+ station=i.t.t.way
|
|
=+ source=t.t.t.way
|
|
?. (~(has in connections) [app source station])
|
|
%- %- slog :~
|
|
leaf+"pipe dropping:"
|
|
leaf+"{(trip app)}{<`path`source>} ---> {(trip station)}"
|
|
==
|
|
[~ +>.$]
|
|
:_ +>.$ :_ ~
|
|
:* ost.hid %poke [%relay app station source]
|
|
[our.hid %hall] %hall-command
|
|
%publish
|
|
|- ^- (list thought:hall)
|
|
?~ speeches
|
|
~
|
|
:_ $(speeches t.speeches, eny.hid (shax (cat 3 %pipe eny.hid)))
|
|
:* `@uvH`(end (sub 'H' 'A') 1 eny.hid)
|
|
[[[%& our.hid station] *envelope:hall %pending] ~ ~]
|
|
now.hid *(set flavor:hall) i.speeches
|
|
==
|
|
==
|
|
::
|
|
++ coup-relay
|
|
|= {way/wire saw/(unit tang)}
|
|
^- {(list move) _+>.$}
|
|
?> ?=({@ @ @ *} way)
|
|
?~ saw
|
|
[~ +>.$]
|
|
%- (slog leaf+"pipe relay failure in:" >way< u.saw)
|
|
[~ +>.$]
|
|
--
|