mirror of
https://github.com/urbit/shrub.git
synced 2024-12-24 11:24:21 +03:00
Merge pull request #6970 from urbit/pkova/clog
ames, gall: more sane clog handling
This commit is contained in:
commit
880655b8f5
@ -586,7 +586,6 @@
|
|||||||
%- pairs
|
%- pairs
|
||||||
:~ 'messages'^(numb (lent messages))
|
:~ 'messages'^(numb (lent messages))
|
||||||
'packets'^(numb ~(wyt in packets))
|
'packets'^(numb ~(wyt in packets))
|
||||||
'heeds'^(set-array heeds from-duct)
|
|
||||||
'keens'^(set-array ~(key by keens) path)
|
'keens'^(set-array ~(key by keens) path)
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
@ -650,7 +649,6 @@
|
|||||||
:: }, ...],
|
:: }, ...],
|
||||||
:: closing: [bone, ..., bone],
|
:: closing: [bone, ..., bone],
|
||||||
:: corked: [bone, ..., bone],
|
:: corked: [bone, ..., bone],
|
||||||
:: heeds: [['/paths', ...] ...]
|
|
||||||
:: scries:
|
:: scries:
|
||||||
:: -> { =path
|
:: -> { =path
|
||||||
:: keen-state: {
|
:: keen-state: {
|
||||||
@ -777,8 +775,6 @@
|
|||||||
'closing'^(set-array closing numb)
|
'closing'^(set-array closing numb)
|
||||||
::
|
::
|
||||||
'corked'^(set-array corked numb)
|
'corked'^(set-array corked numb)
|
||||||
::
|
|
||||||
'heeds'^(set-array heeds from-duct)
|
|
||||||
::
|
::
|
||||||
'scries'^(scries ~(tap by keens))
|
'scries'^(scries ~(tap by keens))
|
||||||
==
|
==
|
||||||
|
File diff suppressed because one or more lines are too long
@ -765,8 +765,6 @@
|
|||||||
::
|
::
|
||||||
:: %hear: packet from unix
|
:: %hear: packet from unix
|
||||||
:: %dear: lane from unix
|
:: %dear: lane from unix
|
||||||
:: %heed: track peer's responsiveness; gives %clog if slow
|
|
||||||
:: %jilt: stop tracking peer's responsiveness
|
|
||||||
:: %cork: request to delete message flow
|
:: %cork: request to delete message flow
|
||||||
:: %tame: request to delete route for ship
|
:: %tame: request to delete route for ship
|
||||||
:: %kroc: request to delete specific message flows, from their bones
|
:: %kroc: request to delete specific message flows, from their bones
|
||||||
@ -797,8 +795,6 @@
|
|||||||
$+ ames-task
|
$+ ames-task
|
||||||
$% [%hear =lane =blob]
|
$% [%hear =lane =blob]
|
||||||
[%dear =ship =lane]
|
[%dear =ship =lane]
|
||||||
[%heed =ship]
|
|
||||||
[%jilt =ship]
|
|
||||||
[%cork =ship]
|
[%cork =ship]
|
||||||
[%tame =ship]
|
[%tame =ship]
|
||||||
[%kroc bones=(list [ship bone])]
|
[%kroc bones=(list [ship bone])]
|
||||||
@ -828,6 +824,7 @@
|
|||||||
:: Messaging Gifts
|
:: Messaging Gifts
|
||||||
::
|
::
|
||||||
:: %boon: response message from remote ship
|
:: %boon: response message from remote ship
|
||||||
|
:: %noon: boon with duct for clog tracking
|
||||||
:: %clog: notify vane that %boon's to peer are backing up locally
|
:: %clog: notify vane that %boon's to peer are backing up locally
|
||||||
:: %done: notify vane that peer (n)acked our message
|
:: %done: notify vane that peer (n)acked our message
|
||||||
:: %lost: notify vane that we crashed on %boon
|
:: %lost: notify vane that we crashed on %boon
|
||||||
@ -845,7 +842,7 @@
|
|||||||
::
|
::
|
||||||
+$ gift
|
+$ gift
|
||||||
$% [%boon payload=*]
|
$% [%boon payload=*]
|
||||||
[%clog =ship]
|
[%noon id=* payload=*]
|
||||||
[%done error=(unit error)]
|
[%done error=(unit error)]
|
||||||
[%lost ~]
|
[%lost ~]
|
||||||
[%send =lane =blob]
|
[%send =lane =blob]
|
||||||
@ -1012,13 +1009,11 @@
|
|||||||
::
|
::
|
||||||
:: messages: pleas local vanes have asked us to send
|
:: messages: pleas local vanes have asked us to send
|
||||||
:: packets: packets we've tried to send
|
:: packets: packets we've tried to send
|
||||||
:: heeds: local tracking requests; passed through into $peer-state
|
|
||||||
::
|
::
|
||||||
+$ alien-agenda
|
+$ alien-agenda
|
||||||
$+ alien-agenda
|
$+ alien-agenda
|
||||||
$: messages=(list [=duct =plea])
|
$: messages=(list [=duct =plea])
|
||||||
packets=(set =blob)
|
packets=(set =blob)
|
||||||
heeds=(set duct)
|
|
||||||
keens=(jug path duct)
|
keens=(jug path duct)
|
||||||
chums=(jug path duct)
|
chums=(jug path duct)
|
||||||
==
|
==
|
||||||
@ -1040,7 +1035,6 @@
|
|||||||
:: information completes the packet+nack-trace, we remove the
|
:: information completes the packet+nack-trace, we remove the
|
||||||
:: entry and emit a nack to the local vane that asked us to send
|
:: entry and emit a nack to the local vane that asked us to send
|
||||||
:: the message.
|
:: the message.
|
||||||
:: heeds: listeners for %clog notifications
|
|
||||||
:: closing: bones closed on the sender side
|
:: closing: bones closed on the sender side
|
||||||
:: corked: bones closed on both sender and receiver
|
:: corked: bones closed on both sender and receiver
|
||||||
::
|
::
|
||||||
@ -1058,7 +1052,6 @@
|
|||||||
snd=(map bone message-pump-state)
|
snd=(map bone message-pump-state)
|
||||||
rcv=(map bone message-sink-state)
|
rcv=(map bone message-sink-state)
|
||||||
nax=(set [=bone =message-num])
|
nax=(set [=bone =message-num])
|
||||||
heeds=(set duct)
|
|
||||||
closing=(set bone)
|
closing=(set bone)
|
||||||
corked=(set bone)
|
corked=(set bone)
|
||||||
keens=(map path keen-state)
|
keens=(map path keen-state)
|
||||||
@ -2733,13 +2726,15 @@
|
|||||||
|%
|
|%
|
||||||
+$ gift :: outgoing result
|
+$ gift :: outgoing result
|
||||||
$% [%boon payload=*] :: ames response
|
$% [%boon payload=*] :: ames response
|
||||||
|
[%noon id=* payload=*]
|
||||||
[%done error=(unit error:ames)] :: ames message (n)ack
|
[%done error=(unit error:ames)] :: ames message (n)ack
|
||||||
[%flub ~] :: not ready to handle plea
|
[%flub ~] :: not ready to handle plea
|
||||||
[%unto p=unto] ::
|
[%unto p=unto] ::
|
||||||
== ::
|
== ::
|
||||||
+$ task :: incoming request
|
+$ task :: incoming request
|
||||||
$~ [%vega ~] ::
|
$~ [%vega ~] ::
|
||||||
$% [%deal p=sack q=term r=deal] :: full transmission
|
$% [%clog id=*] :: clog notification
|
||||||
|
[%deal p=sack q=term r=deal] :: full transmission
|
||||||
[%sear =ship] :: clear pending queues
|
[%sear =ship] :: clear pending queues
|
||||||
[%jolt =desk =dude] :: (re)start agent
|
[%jolt =desk =dude] :: (re)start agent
|
||||||
[%idle =dude] :: suspend agent
|
[%idle =dude] :: suspend agent
|
||||||
|
@ -76,13 +76,6 @@
|
|||||||
:: Ames's perspective, the newly restarted peer is a new ship.
|
:: Ames's perspective, the newly restarted peer is a new ship.
|
||||||
:: Ames's guarantees are not maintained across a breach.
|
:: Ames's guarantees are not maintained across a breach.
|
||||||
::
|
::
|
||||||
:: A vane can pass Ames a %heed $task to request Ames track a peer's
|
|
||||||
:: responsiveness. If our %boon's to it start backing up locally,
|
|
||||||
:: Ames will give a %clog back to the requesting vane containing the
|
|
||||||
:: unresponsive peer's urbit address. This interaction does not use
|
|
||||||
:: ducts as unique keys. Stop tracking a peer by sending Ames a
|
|
||||||
:: %jilt $task.
|
|
||||||
::
|
|
||||||
:: Debug output can be adjusted using %sift and %spew $task's.
|
:: Debug output can be adjusted using %sift and %spew $task's.
|
||||||
::
|
::
|
||||||
!:
|
!:
|
||||||
@ -218,10 +211,7 @@
|
|||||||
::
|
::
|
||||||
++ parse-bone-wire
|
++ parse-bone-wire
|
||||||
|= =wire
|
|= =wire
|
||||||
^- %- unit
|
^- (unit parsed-bone-wire)
|
||||||
$% [%old her=ship =bone]
|
|
||||||
[%new her=ship =rift =bone]
|
|
||||||
==
|
|
||||||
?. ?| ?=([%bone @ @ @ ~] wire)
|
?. ?| ?=([%bone @ @ @ ~] wire)
|
||||||
?=([%bone @ @ ~] wire)
|
?=([%bone @ @ ~] wire)
|
||||||
==
|
==
|
||||||
@ -239,6 +229,11 @@
|
|||||||
`@ud`(slav %ud i.t.t.wire)
|
`@ud`(slav %ud i.t.t.wire)
|
||||||
`@ud`(slav %ud i.t.t.t.wire)
|
`@ud`(slav %ud i.t.t.t.wire)
|
||||||
==
|
==
|
||||||
|
::
|
||||||
|
+$ parsed-bone-wire
|
||||||
|
$% [%old her=ship =bone]
|
||||||
|
[%new her=ship =rift =bone]
|
||||||
|
==
|
||||||
:: +make-pump-timer-wire: construct wire for |packet-pump timer
|
:: +make-pump-timer-wire: construct wire for |packet-pump timer
|
||||||
::
|
::
|
||||||
++ make-pump-timer-wire
|
++ make-pump-timer-wire
|
||||||
@ -620,7 +615,7 @@
|
|||||||
:: dead: dead flow consolidation timer and recork timer, if set
|
:: dead: dead flow consolidation timer and recork timer, if set
|
||||||
::
|
::
|
||||||
+$ ames-state
|
+$ ames-state
|
||||||
$+ ames-state-20
|
$+ ames-state-21
|
||||||
$: peers=(map ship ship-state)
|
$: peers=(map ship ship-state)
|
||||||
=unix=duct
|
=unix=duct
|
||||||
=life
|
=life
|
||||||
@ -1336,7 +1331,7 @@
|
|||||||
::
|
::
|
||||||
+$ ames-state-19
|
+$ ames-state-19
|
||||||
$+ ames-state-19
|
$+ ames-state-19
|
||||||
$: peers=(map ship ship-state)
|
$: peers=(map ship ship-state-20)
|
||||||
=unix=duct
|
=unix=duct
|
||||||
=life
|
=life
|
||||||
=rift
|
=rift
|
||||||
@ -1351,6 +1346,74 @@
|
|||||||
::
|
::
|
||||||
=chain
|
=chain
|
||||||
==
|
==
|
||||||
|
::
|
||||||
|
+$ task-20
|
||||||
|
$+ task-20
|
||||||
|
$% task
|
||||||
|
[%heed =ship]
|
||||||
|
[%jilt =ship]
|
||||||
|
==
|
||||||
|
::
|
||||||
|
+$ queued-event-20
|
||||||
|
$+ queued-event-20
|
||||||
|
$% [%call =duct wrapped-task=(hobo task-20)]
|
||||||
|
[%take =wire =duct =sign]
|
||||||
|
==
|
||||||
|
::
|
||||||
|
+$ peer-state-20
|
||||||
|
$+ peer-state-20
|
||||||
|
$: $: =symmetric-key
|
||||||
|
=life
|
||||||
|
=rift
|
||||||
|
=public-key
|
||||||
|
sponsor=ship
|
||||||
|
==
|
||||||
|
route=(unit [direct=? =lane])
|
||||||
|
=qos
|
||||||
|
=ossuary
|
||||||
|
snd=(map bone message-pump-state)
|
||||||
|
rcv=(map bone message-sink-state)
|
||||||
|
nax=(set [=bone =message-num])
|
||||||
|
heeds=(set duct)
|
||||||
|
closing=(set bone)
|
||||||
|
corked=(set bone)
|
||||||
|
keens=(map path keen-state)
|
||||||
|
=chain
|
||||||
|
==
|
||||||
|
::
|
||||||
|
+$ alien-agenda-20
|
||||||
|
$+ alien-agenda-20
|
||||||
|
$: messages=(list [=duct =plea])
|
||||||
|
packets=(set =blob)
|
||||||
|
heeds=(set duct)
|
||||||
|
keens=(jug path duct)
|
||||||
|
chums=(jug path duct)
|
||||||
|
==
|
||||||
|
::
|
||||||
|
+$ ship-state-20
|
||||||
|
$+ ship-state-20
|
||||||
|
$% [%alien alien-agenda-20]
|
||||||
|
[%known peer-state-20]
|
||||||
|
==
|
||||||
|
::
|
||||||
|
+$ ames-state-20
|
||||||
|
$+ ames-state-20
|
||||||
|
$: peers=(map ship ship-state-20)
|
||||||
|
=unix=duct
|
||||||
|
=life
|
||||||
|
=rift
|
||||||
|
crypto-core=acru:ames
|
||||||
|
=bug
|
||||||
|
snub=[form=?(%allow %deny) ships=(set ship)]
|
||||||
|
cong=[msg=_5 mem=_100.000]
|
||||||
|
::
|
||||||
|
$= dead
|
||||||
|
$: flow=[%flow (unit dead-timer)]
|
||||||
|
cork=[%cork (unit dead-timer)]
|
||||||
|
==
|
||||||
|
::
|
||||||
|
=chain
|
||||||
|
==
|
||||||
:: $bug: debug printing configuration
|
:: $bug: debug printing configuration
|
||||||
::
|
::
|
||||||
:: veb: verbosity toggles
|
:: veb: verbosity toggles
|
||||||
@ -1399,7 +1462,7 @@
|
|||||||
$>(%flog task:dill)
|
$>(%flog task:dill)
|
||||||
==
|
==
|
||||||
$: %g
|
$: %g
|
||||||
$>(%deal task:gall)
|
$>(?(%clog %deal) task:gall)
|
||||||
==
|
==
|
||||||
$: %j
|
$: %j
|
||||||
$> $? %private-keys
|
$> $? %private-keys
|
||||||
@ -1433,7 +1496,7 @@
|
|||||||
gift:jael
|
gift:jael
|
||||||
==
|
==
|
||||||
$: @tas
|
$: @tas
|
||||||
$>(?(%boon %done) gift:ames)
|
$>(?(%noon %boon %done) gift:ames)
|
||||||
== ==
|
== ==
|
||||||
::
|
::
|
||||||
:: $message-pump-task: job for |message-pump
|
:: $message-pump-task: job for |message-pump
|
||||||
@ -1504,7 +1567,8 @@
|
|||||||
[%17 ames-state-17]
|
[%17 ames-state-17]
|
||||||
[%18 ames-state-17]
|
[%18 ames-state-17]
|
||||||
[%19 ames-state-19]
|
[%19 ames-state-19]
|
||||||
[%20 ^ames-state]
|
[%20 ames-state-20]
|
||||||
|
[%21 ^ames-state]
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
|= [now=@da eny=@ rof=roof]
|
|= [now=@da eny=@ rof=roof]
|
||||||
@ -1627,7 +1691,7 @@
|
|||||||
:: lifecycle arms; mostly pass-throughs to the contained adult ames
|
:: lifecycle arms; mostly pass-throughs to the contained adult ames
|
||||||
::
|
::
|
||||||
++ scry scry:adult-core
|
++ scry scry:adult-core
|
||||||
++ stay [%20 %larva queued-events ames-state.adult-gate]
|
++ stay [%10 %larva queued-events ames-state.adult-gate]
|
||||||
++ load
|
++ load
|
||||||
|= $= old
|
|= $= old
|
||||||
$% $: %4
|
$% $: %4
|
||||||
@ -1737,12 +1801,19 @@
|
|||||||
== ==
|
== ==
|
||||||
$: %19 :: %keen & %deep modified
|
$: %19 :: %keen & %deep modified
|
||||||
$% $: %larva
|
$% $: %larva
|
||||||
events=(qeu queued-event)
|
events=(qeu queued-event-20)
|
||||||
state=ames-state-19
|
state=ames-state-19
|
||||||
==
|
==
|
||||||
[%adult state=ames-state-19]
|
[%adult state=ames-state-19]
|
||||||
== ==
|
== ==
|
||||||
$: %20 :: start informal %ping
|
$: %20 :: start informal %ping
|
||||||
|
$% $: %larva
|
||||||
|
events=(qeu queued-event-20)
|
||||||
|
state=ames-state-20
|
||||||
|
==
|
||||||
|
[%adult state=ames-state-20]
|
||||||
|
== ==
|
||||||
|
$: %21 :: remove %heed and %jilt
|
||||||
$% $: %larva
|
$% $: %larva
|
||||||
events=(qeu queued-event)
|
events=(qeu queued-event)
|
||||||
state=_ames-state.adult-gate
|
state=_ames-state.adult-gate
|
||||||
@ -1810,7 +1881,8 @@
|
|||||||
[%9 %larva *]
|
[%9 %larva *]
|
||||||
~> %slog.0^leaf/"ames: larva %9 load"
|
~> %slog.0^leaf/"ames: larva %9 load"
|
||||||
=. cached-state `[%9 state.old]
|
=. cached-state `[%9 state.old]
|
||||||
=. queued-events %- event-17-and-18-to-last
|
=. queued-events %- event-20-to-21
|
||||||
|
%- event-17-and-18-to-last
|
||||||
%- event-12-til-16-to-17
|
%- event-12-til-16-to-17
|
||||||
%- event-9-til-11-to-12
|
%- event-9-til-11-to-12
|
||||||
events.old
|
events.old
|
||||||
@ -1824,7 +1896,8 @@
|
|||||||
[%10 %larva *]
|
[%10 %larva *]
|
||||||
~> %slog.1^leaf/"ames: larva %10 load"
|
~> %slog.1^leaf/"ames: larva %10 load"
|
||||||
=. cached-state `[%10 state.old]
|
=. cached-state `[%10 state.old]
|
||||||
=. queued-events %- event-17-and-18-to-last
|
=. queued-events %- event-20-to-21
|
||||||
|
%- event-17-and-18-to-last
|
||||||
%- event-12-til-16-to-17
|
%- event-12-til-16-to-17
|
||||||
%- event-9-til-11-to-12
|
%- event-9-til-11-to-12
|
||||||
events.old
|
events.old
|
||||||
@ -1838,7 +1911,8 @@
|
|||||||
[%11 %larva *]
|
[%11 %larva *]
|
||||||
~> %slog.1^leaf/"ames: larva %11 load"
|
~> %slog.1^leaf/"ames: larva %11 load"
|
||||||
=. cached-state `[%11 state.old]
|
=. cached-state `[%11 state.old]
|
||||||
=. queued-events %- event-17-and-18-to-last
|
=. queued-events %- event-20-to-21
|
||||||
|
%- event-17-and-18-to-last
|
||||||
%- event-12-til-16-to-17
|
%- event-12-til-16-to-17
|
||||||
%- event-9-til-11-to-12
|
%- event-9-til-11-to-12
|
||||||
events.old
|
events.old
|
||||||
@ -1852,7 +1926,8 @@
|
|||||||
[%12 %larva *]
|
[%12 %larva *]
|
||||||
~> %slog.1^leaf/"ames: larva %12 load"
|
~> %slog.1^leaf/"ames: larva %12 load"
|
||||||
=. cached-state `[%12 state.old]
|
=. cached-state `[%12 state.old]
|
||||||
=. queued-events %- event-17-and-18-to-last
|
=. queued-events %- event-20-to-21
|
||||||
|
%- event-17-and-18-to-last
|
||||||
%- event-12-til-16-to-17
|
%- event-12-til-16-to-17
|
||||||
events.old
|
events.old
|
||||||
larval-gate
|
larval-gate
|
||||||
@ -1865,7 +1940,8 @@
|
|||||||
[%13 %larva *]
|
[%13 %larva *]
|
||||||
~> %slog.1^leaf/"ames: larva %13 load"
|
~> %slog.1^leaf/"ames: larva %13 load"
|
||||||
=. cached-state `[%13 state.old]
|
=. cached-state `[%13 state.old]
|
||||||
=. queued-events %- event-17-and-18-to-last
|
=. queued-events %- event-20-to-21
|
||||||
|
%- event-17-and-18-to-last
|
||||||
%- event-12-til-16-to-17
|
%- event-12-til-16-to-17
|
||||||
events.old
|
events.old
|
||||||
larval-gate
|
larval-gate
|
||||||
@ -1878,7 +1954,8 @@
|
|||||||
[%14 %larva *]
|
[%14 %larva *]
|
||||||
~> %slog.1^leaf/"ames: larva %14 load"
|
~> %slog.1^leaf/"ames: larva %14 load"
|
||||||
=. cached-state `[%14 state.old]
|
=. cached-state `[%14 state.old]
|
||||||
=. queued-events %- event-17-and-18-to-last
|
=. queued-events %- event-20-to-21
|
||||||
|
%- event-17-and-18-to-last
|
||||||
%- event-12-til-16-to-17
|
%- event-12-til-16-to-17
|
||||||
events.old
|
events.old
|
||||||
larval-gate
|
larval-gate
|
||||||
@ -1891,7 +1968,8 @@
|
|||||||
[%15 %larva *]
|
[%15 %larva *]
|
||||||
~> %slog.1^leaf/"ames: larva %15 load"
|
~> %slog.1^leaf/"ames: larva %15 load"
|
||||||
=. cached-state `[%15 state.old]
|
=. cached-state `[%15 state.old]
|
||||||
=. queued-events %- event-17-and-18-to-last
|
=. queued-events %- event-20-to-21
|
||||||
|
%- event-17-and-18-to-last
|
||||||
%- event-12-til-16-to-17
|
%- event-12-til-16-to-17
|
||||||
events.old
|
events.old
|
||||||
larval-gate
|
larval-gate
|
||||||
@ -1904,7 +1982,8 @@
|
|||||||
[%16 %larva *]
|
[%16 %larva *]
|
||||||
~> %slog.1^leaf/"ames: larva %16 load"
|
~> %slog.1^leaf/"ames: larva %16 load"
|
||||||
=. cached-state `[%16 state.old]
|
=. cached-state `[%16 state.old]
|
||||||
=. queued-events %- event-17-and-18-to-last
|
=. queued-events %- event-20-to-21
|
||||||
|
%- event-17-and-18-to-last
|
||||||
%- event-12-til-16-to-17
|
%- event-12-til-16-to-17
|
||||||
events.old
|
events.old
|
||||||
larval-gate
|
larval-gate
|
||||||
@ -1917,7 +1996,7 @@
|
|||||||
[%17 %larva *]
|
[%17 %larva *]
|
||||||
~> %slog.1^leaf/"ames: larva %17 load"
|
~> %slog.1^leaf/"ames: larva %17 load"
|
||||||
=. cached-state `[%17 state.old]
|
=. cached-state `[%17 state.old]
|
||||||
=. queued-events (event-17-and-18-to-last events.old)
|
=. queued-events (event-20-to-21 (event-17-and-18-to-last events.old))
|
||||||
larval-gate
|
larval-gate
|
||||||
::
|
::
|
||||||
[%18 %adult *]
|
[%18 %adult *]
|
||||||
@ -1928,7 +2007,7 @@
|
|||||||
[%18 %larva *]
|
[%18 %larva *]
|
||||||
~> %slog.1^leaf/"ames: larva %18 load"
|
~> %slog.1^leaf/"ames: larva %18 load"
|
||||||
=. cached-state `[%18 state.old]
|
=. cached-state `[%18 state.old]
|
||||||
=. queued-events (event-17-and-18-to-last events.old)
|
=. queued-events (event-20-to-21 (event-17-and-18-to-last events.old))
|
||||||
larval-gate
|
larval-gate
|
||||||
::
|
::
|
||||||
[%19 %adult *]
|
[%19 %adult *]
|
||||||
@ -1939,15 +2018,26 @@
|
|||||||
[%19 %larva *]
|
[%19 %larva *]
|
||||||
~> %slog.1^leaf/"ames: larva %19 load"
|
~> %slog.1^leaf/"ames: larva %19 load"
|
||||||
=. cached-state `[%19 state.old]
|
=. cached-state `[%19 state.old]
|
||||||
=. queued-events events.old
|
=. queued-events (event-20-to-21 events.old)
|
||||||
larval-gate
|
larval-gate
|
||||||
::
|
::
|
||||||
[%20 %adult *] (load:adult-core %20 state.old)
|
[%20 %adult *]
|
||||||
|
=. cached-state `[%20 state.old]
|
||||||
|
~> %slog.0^leaf/"ames: larva %20 reload"
|
||||||
|
larval-gate
|
||||||
::
|
::
|
||||||
[%20 %larva *]
|
[%20 %larva *]
|
||||||
~> %slog.1^leaf/"ames: larva %20 load"
|
~> %slog.1^leaf/"ames: larva %20 load"
|
||||||
|
=. cached-state `[%20 state.old]
|
||||||
|
=. queued-events (event-20-to-21 events.old)
|
||||||
|
larval-gate
|
||||||
|
::
|
||||||
|
[%21 %adult *] (load:adult-core %21 state.old)
|
||||||
|
::
|
||||||
|
[%21 %larva *]
|
||||||
|
~> %slog.1^leaf/"ames: larva %21 load"
|
||||||
=. queued-events events.old
|
=. queued-events events.old
|
||||||
=. adult-gate (load:adult-core %20 state.old)
|
=. adult-gate (load:adult-core %21 state.old)
|
||||||
larval-gate
|
larval-gate
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
@ -2005,6 +2095,15 @@
|
|||||||
%naxplanation
|
%naxplanation
|
||||||
[%deep %nack ship.task nack-bone.task ;;(message [hed msg])]
|
[%deep %nack ship.task nack-bone.task ;;(message [hed msg])]
|
||||||
==
|
==
|
||||||
|
++ event-20-to-21
|
||||||
|
|= events=(qeu queued-event-20)
|
||||||
|
^- (qeu queued-event)
|
||||||
|
%- ~(rep in events)
|
||||||
|
|= [e=queued-event-20 q=(qeu queued-event)]
|
||||||
|
?. ?=(%call -.e) (~(put to q) e)
|
||||||
|
=/ task=task-20 ((harden task-20) wrapped-task.e)
|
||||||
|
?: ?=(?(%heed %jilt) -.task) q
|
||||||
|
(~(put to q) e(wrapped-task task))
|
||||||
--
|
--
|
||||||
:: +molt: re-evolve to adult-ames
|
:: +molt: re-evolve to adult-ames
|
||||||
::
|
::
|
||||||
@ -2075,7 +2174,9 @@
|
|||||||
=+ ev-core=(ev [now eny rof] [/saxo]~ ames-state.adult-gate)
|
=+ ev-core=(ev [now eny rof] [/saxo]~ ames-state.adult-gate)
|
||||||
[unix-duct.+.u.cached-state %give %saxo get-sponsors:ev-core]
|
[unix-duct.+.u.cached-state %give %saxo get-sponsors:ev-core]
|
||||||
::
|
::
|
||||||
?> ?=(%20 -.u.cached-state)
|
=? u.cached-state ?=(%20 -.u.cached-state)
|
||||||
|
21+(state-20-to-21:load:adult-core +.u.cached-state)
|
||||||
|
?> ?=(%21 -.u.cached-state)
|
||||||
=. ames-state.adult-gate +.u.cached-state
|
=. ames-state.adult-gate +.u.cached-state
|
||||||
[moz larval-core(cached-state ~)]
|
[moz larval-core(cached-state ~)]
|
||||||
--
|
--
|
||||||
@ -2174,27 +2275,14 @@
|
|||||||
~> %slog.0^leaf/"ames: dropping malformed wire: {(spud wire)}"
|
~> %slog.0^leaf/"ames: dropping malformed wire: {(spud wire)}"
|
||||||
event-core
|
event-core
|
||||||
?> ?=([@ her=ship *] u.parsed)
|
?> ?=([@ her=ship *] u.parsed)
|
||||||
=* her her.u.parsed
|
=/ peer-core (abed-got:pe her.u.parsed)
|
||||||
=/ peer-core (abed-got:pe her)
|
?~ bon=(bone-ok u.parsed wire rift.peer-state.peer-core)
|
||||||
|^
|
|
||||||
?: ?& ?=([%new *] u.parsed)
|
|
||||||
(lth rift.u.parsed rift.peer-state.peer-core)
|
|
||||||
==
|
|
||||||
:: ignore events from an old rift
|
|
||||||
::
|
|
||||||
%- %^ ev-trace odd.veb her
|
|
||||||
|.("dropping old rift wire: {(spud wire)}")
|
|
||||||
event-core
|
event-core
|
||||||
=/ =bone
|
|^
|
||||||
?-(u.parsed [%new *] bone.u.parsed, [%old *] bone.u.parsed)
|
|
||||||
=? peer-core ?=([%old *] u.parsed)
|
|
||||||
%- %^ ev-trace odd.veb her
|
|
||||||
|.("parsing old wire: {(spud wire)}")
|
|
||||||
peer-core
|
|
||||||
:: relay the vane ack to the foreign peer
|
:: relay the vane ack to the foreign peer
|
||||||
::
|
::
|
||||||
=< abet
|
=< abet
|
||||||
?~(error (send-ack bone) (send-nack bone u.error))
|
?~(error (send-ack u.bon) (send-nack u.bon u.error))
|
||||||
::
|
::
|
||||||
:: if processing succeded, send positive ack packet and exit
|
:: if processing succeded, send positive ack packet and exit
|
||||||
::
|
::
|
||||||
@ -2381,28 +2469,6 @@
|
|||||||
|= =error
|
|= =error
|
||||||
^+ event-core
|
^+ event-core
|
||||||
(emit duct %pass /crud %d %flog %crud error)
|
(emit duct %pass /crud %d %flog %crud error)
|
||||||
:: +on-heed: handle request to track .ship's responsiveness
|
|
||||||
::
|
|
||||||
++ on-heed
|
|
||||||
|= =ship
|
|
||||||
^+ event-core
|
|
||||||
=/ ship-state (~(get by peers.ames-state) ship)
|
|
||||||
?: ?=([~ %known *] ship-state)
|
|
||||||
abet:on-heed:(abed-peer:pe ship +.u.ship-state)
|
|
||||||
%^ enqueue-alien-todo ship ship-state
|
|
||||||
|= todos=alien-agenda
|
|
||||||
todos(heeds (~(put in heeds.todos) duct))
|
|
||||||
:: +on-jilt: handle request to stop tracking .ship's responsiveness
|
|
||||||
::
|
|
||||||
++ on-jilt
|
|
||||||
|= =ship
|
|
||||||
^+ event-core
|
|
||||||
=/ ship-state (~(get by peers.ames-state) ship)
|
|
||||||
?: ?=([~ %known *] ship-state)
|
|
||||||
abet:on-jilt:(abed-peer:pe ship +.u.ship-state)
|
|
||||||
%^ enqueue-alien-todo ship ship-state
|
|
||||||
|= todos=alien-agenda
|
|
||||||
todos(heeds (~(del in heeds.todos) duct))
|
|
||||||
:: +on-dear: handle lane from unix
|
:: +on-dear: handle lane from unix
|
||||||
::
|
::
|
||||||
++ on-dear
|
++ on-dear
|
||||||
@ -2634,6 +2700,40 @@
|
|||||||
::
|
::
|
||||||
=< abet
|
=< abet
|
||||||
(~(on-hear-shut-packet pe peer-state channel) [lane u.shut-packet dud])
|
(~(on-hear-shut-packet pe peer-state channel) [lane u.shut-packet dud])
|
||||||
|
::
|
||||||
|
++ bone-ok
|
||||||
|
|= [parsed=parsed-bone-wire =wire =rift]
|
||||||
|
^- (unit bone)
|
||||||
|
=* her her.parsed
|
||||||
|
::
|
||||||
|
?: ?& ?=([%new *] parsed)
|
||||||
|
(lth rift.parsed rift)
|
||||||
|
==
|
||||||
|
:: ignore events from an old rift
|
||||||
|
::
|
||||||
|
%- %^ ev-trace odd.veb her
|
||||||
|
|.("dropping old rift wire: {(spud wire)}")
|
||||||
|
~
|
||||||
|
=/ =bone
|
||||||
|
?-(parsed [%new *] bone.parsed, [%old *] bone.parsed)
|
||||||
|
=+ ?. ?=([%old *] parsed) ~
|
||||||
|
%- %^ ev-trace odd.veb her
|
||||||
|
|.("parsing old wire: {(spud wire)}")
|
||||||
|
~
|
||||||
|
`bone
|
||||||
|
::
|
||||||
|
++ on-take-noon
|
||||||
|
|= [=wire payload=* id=*]
|
||||||
|
^+ event-core
|
||||||
|
?~ parsed=(parse-bone-wire wire)
|
||||||
|
~> %slog.0^leaf/"ames: dropping malformed wire: {(spud wire)}"
|
||||||
|
event-core
|
||||||
|
?> ?=([@ her=ship *] u.parsed)
|
||||||
|
=/ peer-core (abed-got:pe her.u.parsed)
|
||||||
|
?~ bone=(bone-ok u.parsed wire rift.peer-state.peer-core)
|
||||||
|
event-core
|
||||||
|
::
|
||||||
|
abet:(check-clog:(on-memo:peer-core u.bone [%boon payload]) u.bone id)
|
||||||
:: +on-take-boon: receive request to give message to peer
|
:: +on-take-boon: receive request to give message to peer
|
||||||
::
|
::
|
||||||
++ on-take-boon
|
++ on-take-boon
|
||||||
@ -2644,24 +2744,10 @@
|
|||||||
event-core
|
event-core
|
||||||
::
|
::
|
||||||
?> ?=([@ her=ship *] u.parsed)
|
?> ?=([@ her=ship *] u.parsed)
|
||||||
=* her her.u.parsed
|
=/ peer-core (abed-got:pe her.u.parsed)
|
||||||
=/ peer-core (abed-got:pe her)
|
?~ bone=(bone-ok u.parsed wire rift.peer-state.peer-core)
|
||||||
::
|
|
||||||
?: ?& ?=([%new *] u.parsed)
|
|
||||||
(lth rift.u.parsed rift.peer-state.peer-core)
|
|
||||||
==
|
|
||||||
:: ignore events from an old rift
|
|
||||||
::
|
|
||||||
%- %^ ev-trace odd.veb her
|
|
||||||
|.("dropping old rift wire: {(spud wire)}")
|
|
||||||
event-core
|
event-core
|
||||||
=/ =bone
|
abet:(on-memo:peer-core u.bone [%boon payload])
|
||||||
?-(u.parsed [%new *] bone.u.parsed, [%old *] bone.u.parsed)
|
|
||||||
=? peer-core ?=([%old *] u.parsed)
|
|
||||||
%- %^ ev-trace odd.veb her
|
|
||||||
|.("parsing old wire: {(spud wire)}")
|
|
||||||
peer-core
|
|
||||||
abet:(on-memo:peer-core bone [%boon payload])
|
|
||||||
:: +on-plea: handle request to send message
|
:: +on-plea: handle request to send message
|
||||||
::
|
::
|
||||||
++ on-plea
|
++ on-plea
|
||||||
@ -3172,12 +3258,6 @@
|
|||||||
:: save current duct
|
:: save current duct
|
||||||
::
|
::
|
||||||
=/ original-duct duct
|
=/ original-duct duct
|
||||||
:: apply heeds
|
|
||||||
::
|
|
||||||
=. event-core
|
|
||||||
%+ roll ~(tap in heeds.todos)
|
|
||||||
|= [=^duct core=_event-core]
|
|
||||||
(on-heed:core(duct duct) ship)
|
|
||||||
:: apply outgoing messages, reversing for FIFO order
|
:: apply outgoing messages, reversing for FIFO order
|
||||||
::
|
::
|
||||||
=. event-core
|
=. event-core
|
||||||
@ -3590,11 +3670,7 @@
|
|||||||
::
|
::
|
||||||
+| %tasks
|
+| %tasks
|
||||||
::
|
::
|
||||||
++ on-heed
|
|
||||||
peer-core(heeds.peer-state (~(put in heeds.peer-state) duct))
|
|
||||||
::
|
::
|
||||||
++ on-jilt
|
|
||||||
peer-core(heeds.peer-state (~(del in heeds.peer-state) duct))
|
|
||||||
:: +update-qos: update and maybe print connection status
|
:: +update-qos: update and maybe print connection status
|
||||||
::
|
::
|
||||||
++ update-qos
|
++ update-qos
|
||||||
@ -3611,12 +3687,7 @@
|
|||||||
peer-core
|
peer-core
|
||||||
:: print message
|
:: print message
|
||||||
::
|
::
|
||||||
=. peer-core (pe-emit duct %pass /qos %d %flog %text u.text)
|
(pe-emit duct %pass /qos %d %flog %text u.text)
|
||||||
:: if peer has stopped responding, check if %boon's are backing up
|
|
||||||
::
|
|
||||||
?. ?=(?(%dead %unborn) -.qos.peer-state)
|
|
||||||
peer-core
|
|
||||||
check-clog
|
|
||||||
:: +on-hear-shut-packet: handle receipt of ack or message fragment
|
:: +on-hear-shut-packet: handle receipt of ack or message fragment
|
||||||
::
|
::
|
||||||
++ on-hear-shut-packet
|
++ on-hear-shut-packet
|
||||||
@ -3655,6 +3726,15 @@
|
|||||||
|= =bone
|
|= =bone
|
||||||
^+ peer-core
|
^+ peer-core
|
||||||
abet:(call:(abed:mi:peer-core bone) %flub ~)
|
abet:(call:(abed:mi:peer-core bone) %flub ~)
|
||||||
|
::
|
||||||
|
++ check-clog
|
||||||
|
|= [=bone id=*]
|
||||||
|
^+ peer-core
|
||||||
|
=/ =message-pump-state (~(got by snd.peer-state) bone)
|
||||||
|
~& [%check-clog unsent-messages.message-pump-state]
|
||||||
|
?: (gth ~(wyt in unsent-messages.message-pump-state) msg.cong.ames-state)
|
||||||
|
(pe-emit [/ames]~ %pass /clog %g %clog id)
|
||||||
|
peer-core
|
||||||
:: +on-memo: handle request to send message
|
:: +on-memo: handle request to send message
|
||||||
::
|
::
|
||||||
++ on-memo
|
++ on-memo
|
||||||
@ -3669,13 +3749,7 @@
|
|||||||
~> %slog.0^leaf/"ames: ignoring message on corked bone {<bone>}"
|
~> %slog.0^leaf/"ames: ignoring message on corked bone {<bone>}"
|
||||||
peer-core
|
peer-core
|
||||||
::
|
::
|
||||||
=. peer-core abet:(call:(abed:mu bone) %memo message)
|
abet:(call:(abed:mu bone) %memo message)
|
||||||
::
|
|
||||||
?: ?& ?=(%boon -.message)
|
|
||||||
(gte now (add ~s30 last-contact.qos.peer-state))
|
|
||||||
==
|
|
||||||
check-clog
|
|
||||||
peer-core
|
|
||||||
:: +on-wake: handle timer expiration
|
:: +on-wake: handle timer expiration
|
||||||
::
|
::
|
||||||
++ on-wake
|
++ on-wake
|
||||||
@ -3803,55 +3877,6 @@
|
|||||||
recork-one
|
recork-one
|
||||||
::
|
::
|
||||||
+| %implementation
|
+| %implementation
|
||||||
:: +check-clog: notify clients if peer has stopped responding
|
|
||||||
::
|
|
||||||
++ check-clog
|
|
||||||
^+ peer-core
|
|
||||||
::
|
|
||||||
:: Only look at response bones. Request bones are unregulated,
|
|
||||||
:: since requests tend to be much smaller than responses.
|
|
||||||
::
|
|
||||||
=/ pumps=(list message-pump-state)
|
|
||||||
%+ murn ~(tap by snd.peer-state)
|
|
||||||
|= [=bone =message-pump-state]
|
|
||||||
?: =(0 (end 0 bone))
|
|
||||||
~
|
|
||||||
`u=message-pump-state
|
|
||||||
:: if clogged, notify client vane
|
|
||||||
::
|
|
||||||
|^ ?. &(nuf-messages nuf-memory) peer-core
|
|
||||||
%+ roll ~(tap in heeds.peer-state)
|
|
||||||
|=([d=^duct core=_peer-core] (pe-emit:core d %give %clog her))
|
|
||||||
:: +nuf-messages: are there enough messages to mark as clogged?
|
|
||||||
::
|
|
||||||
++ nuf-messages
|
|
||||||
=| num=@ud
|
|
||||||
|- ^- ?
|
|
||||||
?~ pumps |
|
|
||||||
=. num
|
|
||||||
;: add num
|
|
||||||
(sub [next current]:i.pumps)
|
|
||||||
~(wyt in unsent-messages.i.pumps)
|
|
||||||
==
|
|
||||||
?: (gte num msg.cong.ames-state)
|
|
||||||
&
|
|
||||||
$(pumps t.pumps)
|
|
||||||
:: +nuf-memory: is enough memory used to mark as clogged?
|
|
||||||
::
|
|
||||||
++ nuf-memory
|
|
||||||
=| mem=@ud
|
|
||||||
|- ^- ?
|
|
||||||
?~ pumps |
|
|
||||||
=. mem
|
|
||||||
%+ add
|
|
||||||
%- ~(rep in unsent-messages.i.pumps)
|
|
||||||
|=([m=message b=_mem] (add b (met 3 (jim m))))
|
|
||||||
?~ unsent-fragments.i.pumps 0
|
|
||||||
(met 3 fragment.i.unsent-fragments.i.pumps)
|
|
||||||
?: (gte mem mem.cong.ames-state)
|
|
||||||
&
|
|
||||||
$(pumps t.pumps)
|
|
||||||
--
|
|
||||||
:: +send-shut-packet: fire encrypted packet at rcvr and maybe sponsors
|
:: +send-shut-packet: fire encrypted packet at rcvr and maybe sponsors
|
||||||
::
|
::
|
||||||
++ send-shut-packet
|
++ send-shut-packet
|
||||||
@ -5406,9 +5431,7 @@
|
|||||||
%born on-born:event-core
|
%born on-born:event-core
|
||||||
%hear (on-hear:event-core [lane blob ~]:task)
|
%hear (on-hear:event-core [lane blob ~]:task)
|
||||||
%dear (on-dear:event-core +.task)
|
%dear (on-dear:event-core +.task)
|
||||||
%heed (on-heed:event-core ship.task)
|
|
||||||
%init on-init:event-core
|
%init on-init:event-core
|
||||||
%jilt (on-jilt:event-core ship.task)
|
|
||||||
%prod (on-prod:event-core ships.task)
|
%prod (on-prod:event-core ships.task)
|
||||||
%sift (on-sift:event-core ships.task)
|
%sift (on-sift:event-core ships.task)
|
||||||
%snub (on-snub:event-core [form ships]:task)
|
%snub (on-snub:event-core [form ships]:task)
|
||||||
@ -5438,7 +5461,7 @@
|
|||||||
|= [=wire =duct dud=(unit goof) =sign]
|
|= [=wire =duct dud=(unit goof) =sign]
|
||||||
^- [(list move) _ames-gate]
|
^- [(list move) _ames-gate]
|
||||||
?^ dud
|
?^ dud
|
||||||
~|(%ames-take-dud (mean tang.u.dud))
|
~&(%ames-take-dud (mean tang.u.dud))
|
||||||
::
|
::
|
||||||
=/ event-core (ev [now eny rof] duct ames-state)
|
=/ event-core (ev [now eny rof] duct ames-state)
|
||||||
::
|
::
|
||||||
@ -5450,6 +5473,7 @@
|
|||||||
?- sign
|
?- sign
|
||||||
[@ %done *] (on-take-done:event-core wire error.sign)
|
[@ %done *] (on-take-done:event-core wire error.sign)
|
||||||
[@ %boon *] (on-take-boon:event-core wire payload.sign)
|
[@ %boon *] (on-take-boon:event-core wire payload.sign)
|
||||||
|
[@ %noon *] (on-take-noon:event-core wire payload.sign id.sign)
|
||||||
::
|
::
|
||||||
[%ames %tune *] (on-tune:event-core wire [[ship path] roar]:sign)
|
[%ames %tune *] (on-tune:event-core wire [[ship path] roar]:sign)
|
||||||
::
|
::
|
||||||
@ -5465,15 +5489,15 @@
|
|||||||
[moves ames-gate]
|
[moves ames-gate]
|
||||||
:: +stay: extract state before reload
|
:: +stay: extract state before reload
|
||||||
::
|
::
|
||||||
++ stay [%20 %adult ames-state]
|
++ stay [%21 %adult ames-state]
|
||||||
:: +load: load in old state after reload
|
:: +load: load in old state after reload
|
||||||
::
|
::
|
||||||
++ load
|
++ load
|
||||||
=< |= $= old-state
|
=< |= $= old-state
|
||||||
$% [%20 ^ames-state]
|
$% [%21 ^ames-state]
|
||||||
==
|
==
|
||||||
^+ ames-gate
|
^+ ames-gate
|
||||||
?> ?=(%20 -.old-state)
|
?> ?=(%21 -.old-state)
|
||||||
ames-gate(ames-state +.old-state)
|
ames-gate(ames-state +.old-state)
|
||||||
:: all state transitions are called from larval ames
|
:: all state transitions are called from larval ames
|
||||||
::
|
::
|
||||||
@ -5715,7 +5739,7 @@
|
|||||||
peers
|
peers
|
||||||
%- ~(run by peers.old)
|
%- ~(run by peers.old)
|
||||||
|= s=ship-state-17
|
|= s=ship-state-17
|
||||||
^- ship-state
|
^- ship-state-20
|
||||||
?: ?=(%alien -.s)
|
?: ?=(%alien -.s)
|
||||||
%= s
|
%= s
|
||||||
keens [keens.s ~]
|
keens [keens.s ~]
|
||||||
@ -5748,10 +5772,25 @@
|
|||||||
::
|
::
|
||||||
++ state-19-to-20
|
++ state-19-to-20
|
||||||
|= old=ames-state-19
|
|= old=ames-state-19
|
||||||
^- ^ames-state
|
^- ames-state-20
|
||||||
%= old
|
%= old
|
||||||
veb.bug [&1 &2 &3 &4 &5 &6 &7 &8 |8 %.n]:veb.bug.old
|
veb.bug [&1 &2 &3 &4 &5 &6 &7 &8 |8 %.n]:veb.bug.old
|
||||||
==
|
==
|
||||||
|
::
|
||||||
|
++ state-20-to-21
|
||||||
|
|= old=ames-state-20
|
||||||
|
^- ^ames-state
|
||||||
|
%= old
|
||||||
|
peers
|
||||||
|
%- ~(run by peers.old)
|
||||||
|
|= s=ship-state-20
|
||||||
|
^- ship-state
|
||||||
|
?: ?=(%alien -.s)
|
||||||
|
[%alien messages.s packets.s keens.s chums.s]
|
||||||
|
:* -.s -.+.s route.s qos.s ossuary.s snd.s rcv.s
|
||||||
|
nax.s closing.s corked.s keens.s chain.s
|
||||||
|
==
|
||||||
|
==
|
||||||
--
|
--
|
||||||
:: +scry: dereference namespace
|
:: +scry: dereference namespace
|
||||||
::
|
::
|
||||||
|
@ -594,9 +594,6 @@
|
|||||||
:: first contact; update state and subscribe to notifications
|
:: first contact; update state and subscribe to notifications
|
||||||
::
|
::
|
||||||
=. contacts.state (~(put in contacts.state) ship)
|
=. contacts.state (~(put in contacts.state) ship)
|
||||||
:: ask ames to track .ship's connectivity
|
|
||||||
::
|
|
||||||
=. moves [[system-duct.state %pass /sys/lag %a %heed ship] moves]
|
|
||||||
:: ask jael to track .ship's breaches
|
:: ask jael to track .ship's breaches
|
||||||
::
|
::
|
||||||
=/ =note-arvo [%j %public-keys (silt ship ~)]
|
=/ =note-arvo [%j %public-keys (silt ship ~)]
|
||||||
@ -616,8 +613,6 @@
|
|||||||
::
|
::
|
||||||
=. contacts.state (~(del in contacts.state) ship)
|
=. contacts.state (~(del in contacts.state) ship)
|
||||||
::
|
::
|
||||||
=. moves [[system-duct.state %pass /sys/lag %a %jilt ship] moves]
|
|
||||||
::
|
|
||||||
=/ =note-arvo [%j %nuke (silt ship ~)]
|
=/ =note-arvo [%j %nuke (silt ship ~)]
|
||||||
=. moves
|
=. moves
|
||||||
[[system-duct.state %pass /sys/era note-arvo] moves]
|
[[system-duct.state %pass /sys/era note-arvo] moves]
|
||||||
@ -657,7 +652,6 @@
|
|||||||
%lyv ..mo-core :: vestigial
|
%lyv ..mo-core :: vestigial
|
||||||
%cor ..mo-core :: vestigial
|
%cor ..mo-core :: vestigial
|
||||||
%era (mo-handle-sys-era wire sign-arvo)
|
%era (mo-handle-sys-era wire sign-arvo)
|
||||||
%lag (mo-handle-sys-lag wire sign-arvo)
|
|
||||||
%req (mo-handle-sys-req wire sign-arvo)
|
%req (mo-handle-sys-req wire sign-arvo)
|
||||||
%way (mo-handle-sys-way wire sign-arvo)
|
%way (mo-handle-sys-way wire sign-arvo)
|
||||||
==
|
==
|
||||||
@ -671,24 +665,20 @@
|
|||||||
?. ?=(%breach -.public-keys-result.sign-arvo)
|
?. ?=(%breach -.public-keys-result.sign-arvo)
|
||||||
mo-core
|
mo-core
|
||||||
(mo-breach /jael who.public-keys-result.sign-arvo)
|
(mo-breach /jael who.public-keys-result.sign-arvo)
|
||||||
:: +mo-handle-sys-lag: handle an ames %clog notification
|
:: +mo-handle-sys-clog: handle an ames %clog notification
|
||||||
::
|
::
|
||||||
++ mo-handle-sys-lag
|
++ mo-handle-sys-clog
|
||||||
|= [=wire =sign-arvo]
|
|= [=duct agent-name=term]
|
||||||
^+ mo-core
|
^+ mo-core
|
||||||
|
=/ yoke (~(get by yokes.state) agent-name)
|
||||||
|
?~ yoke
|
||||||
|
mo-core
|
||||||
|
=? mo-core ?=(%live -.u.yoke)
|
||||||
|
=/ app (ap-abed:ap agent-name [~ our /ames])
|
||||||
|
ap-abet:(ap-clog:app duct)
|
||||||
::
|
::
|
||||||
?> ?=([%lag ~] wire)
|
mo-core
|
||||||
?> ?=([%ames %clog *] sign-arvo)
|
::
|
||||||
::
|
|
||||||
=/ agents=(list [=dude =yoke]) ~(tap by yokes.state)
|
|
||||||
|- ^+ mo-core
|
|
||||||
?~ agents mo-core
|
|
||||||
::
|
|
||||||
=? mo-core ?=(%live -.yoke.i.agents)
|
|
||||||
=/ app (ap-abed:ap dude.i.agents [~ our /ames])
|
|
||||||
ap-abet:(ap-clog:app ship.sign-arvo)
|
|
||||||
::
|
|
||||||
$(agents t.agents)
|
|
||||||
:: +mo-handle-sys-req: TODO description
|
:: +mo-handle-sys-req: TODO description
|
||||||
::
|
::
|
||||||
:: TODO: what should we do if the remote nacks our %pull?
|
:: TODO: what should we do if the remote nacks our %pull?
|
||||||
@ -699,7 +689,6 @@
|
|||||||
?> ?=([%req @ @ ~] wire)
|
?> ?=([%req @ @ ~] wire)
|
||||||
=/ him (slav %p i.t.wire)
|
=/ him (slav %p i.t.wire)
|
||||||
=/ dap i.t.t.wire
|
=/ dap i.t.t.wire
|
||||||
::
|
|
||||||
?> ?=([?(%gall %behn) %unto *] sign-arvo)
|
?> ?=([?(%gall %behn) %unto *] sign-arvo)
|
||||||
=/ =unto +>.sign-arvo
|
=/ =unto +>.sign-arvo
|
||||||
::
|
::
|
||||||
@ -713,7 +702,7 @@
|
|||||||
::
|
::
|
||||||
%fact
|
%fact
|
||||||
=+ [mark noun]=[p q.q]:cage.unto
|
=+ [mark noun]=[p q.q]:cage.unto
|
||||||
(mo-give %boon %d mark noun)
|
(mo-give %noon [dap [/gall/sys/req/[i.t.wire]/[dap] hen]] %d mark noun)
|
||||||
::
|
::
|
||||||
%kick
|
%kick
|
||||||
(mo-give %boon %x ~)
|
(mo-give %boon %x ~)
|
||||||
@ -734,6 +723,7 @@
|
|||||||
=/ foreign-agent i.t.t.wire
|
=/ foreign-agent i.t.t.wire
|
||||||
::
|
::
|
||||||
?+ sign-arvo !!
|
?+ sign-arvo !!
|
||||||
|
::
|
||||||
[%ames %done *]
|
[%ames %done *]
|
||||||
=/ err=(unit tang)
|
=/ err=(unit tang)
|
||||||
?~ error=error.sign-arvo
|
?~ error=error.sign-arvo
|
||||||
@ -1653,17 +1643,11 @@
|
|||||||
:: TODO: %drip local app notification for error isolation
|
:: TODO: %drip local app notification for error isolation
|
||||||
::
|
::
|
||||||
++ ap-clog
|
++ ap-clog
|
||||||
|= =ship
|
|= =duct
|
||||||
^+ ap-core
|
^+ ap-core
|
||||||
::
|
::
|
||||||
=/ in=(list [=duct =^ship =path]) ~(tap by bitt.yoke)
|
=/ core ap-kill-up(agent-duct duct)
|
||||||
|- ^+ ap-core
|
core(agent-duct agent-duct)
|
||||||
?~ in ap-core
|
|
||||||
::
|
|
||||||
=? ap-core =(ship ship.i.in)
|
|
||||||
=/ core ap-kill-up(agent-duct duct.i.in)
|
|
||||||
core(agent-duct agent-duct)
|
|
||||||
$(in t.in)
|
|
||||||
:: +ap-agent-core: agent core with current bowl and state
|
:: +ap-agent-core: agent core with current bowl and state
|
||||||
::
|
::
|
||||||
++ ap-agent-core
|
++ ap-agent-core
|
||||||
@ -2369,6 +2353,10 @@
|
|||||||
::
|
::
|
||||||
=/ mo-core (mo-abed:mo duct)
|
=/ mo-core (mo-abed:mo duct)
|
||||||
?- -.task
|
?- -.task
|
||||||
|
%clog
|
||||||
|
=+ ;;([dap=@tas =^duct] id.task)
|
||||||
|
mo-abet:(mo-handle-sys-clog:mo-core duct dap)
|
||||||
|
::
|
||||||
%deal
|
%deal
|
||||||
=/ [=sack =term =deal] [p q r]:task
|
=/ [=sack =term =deal] [p q r]:task
|
||||||
?. =(q.sack our)
|
?. =(q.sack our)
|
||||||
@ -2462,6 +2450,7 @@
|
|||||||
blocked=(map term (qeu blocked-move-13))
|
blocked=(map term (qeu blocked-move-13))
|
||||||
=bug
|
=bug
|
||||||
==
|
==
|
||||||
|
::
|
||||||
+$ blocked-move-13 [=duct routes=routes-13 move=(each deal unto)]
|
+$ blocked-move-13 [=duct routes=routes-13 move=(each deal unto)]
|
||||||
+$ routes-13
|
+$ routes-13
|
||||||
$: disclosing=(unit (set ship))
|
$: disclosing=(unit (set ship))
|
||||||
|
@ -46,16 +46,6 @@ export class Ames extends Component {
|
|||||||
return <SearchableList placeholder="path" items={items}/>;
|
return <SearchableList placeholder="path" items={items}/>;
|
||||||
}
|
}
|
||||||
|
|
||||||
renderDucts(ducts) {
|
|
||||||
const items = ducts.map(duct => {
|
|
||||||
return {
|
|
||||||
key: duct.join(' '),
|
|
||||||
jsx: (<div>{renderDuct(duct)}</div>)
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return <SearchableList placeholder="duct" items={items}/>
|
|
||||||
}
|
|
||||||
|
|
||||||
renderSnd(snd) {
|
renderSnd(snd) {
|
||||||
const unsent = snd['unsent-messages'].reduce((a, b) => {
|
const unsent = snd['unsent-messages'].reduce((a, b) => {
|
||||||
return a + b + ' bytes, ';
|
return a + b + ' bytes, ';
|
||||||
@ -309,7 +299,6 @@ export class Ames extends Component {
|
|||||||
return (<>
|
return (<>
|
||||||
Pending messages: {peer.alien.messages}
|
Pending messages: {peer.alien.messages}
|
||||||
Pending packets: {peer.alien.packets}
|
Pending packets: {peer.alien.packets}
|
||||||
Heeds: {this.renderDucts(peer.alien.heeds)}
|
|
||||||
Keens: {this.renderPaths(peer.alien.keens)}
|
Keens: {this.renderPaths(peer.alien.keens)}
|
||||||
</>);
|
</>);
|
||||||
} else if (peer.known) {
|
} else if (peer.known) {
|
||||||
@ -373,11 +362,6 @@ export class Ames extends Component {
|
|||||||
<SearchableList placeholder="bone" items={naxItems} />
|
<SearchableList placeholder="bone" items={naxItems} />
|
||||||
</>);
|
</>);
|
||||||
|
|
||||||
const heeds = (<>
|
|
||||||
<h4 style={{marginTop: '1em'}}>heeds</h4>
|
|
||||||
{this.renderDucts(p.heeds)}
|
|
||||||
</>);
|
|
||||||
|
|
||||||
const scryItems = p.scries.map(this.renderScry);
|
const scryItems = p.scries.map(this.renderScry);
|
||||||
const scry = (<>
|
const scry = (<>
|
||||||
<h4 style={{marginTop: '1em'}}>scries</h4>
|
<h4 style={{marginTop: '1em'}}>scries</h4>
|
||||||
@ -395,7 +379,6 @@ export class Ames extends Component {
|
|||||||
{forward}
|
{forward}
|
||||||
{backward}
|
{backward}
|
||||||
{nax}
|
{nax}
|
||||||
{heeds}
|
|
||||||
{scry}
|
{scry}
|
||||||
</>);
|
</>);
|
||||||
} else {
|
} else {
|
||||||
|
@ -33,8 +33,7 @@
|
|||||||
[~1111.1.1 0xdead.beef *roof]
|
[~1111.1.1 0xdead.beef *roof]
|
||||||
:- ~[/use/sub/0w1.d6Isf/out/~bud/pub/1/sub-foo/~bud /init]
|
:- ~[/use/sub/0w1.d6Isf/out/~bud/pub/1/sub-foo/~bud /init]
|
||||||
[%deal [~nec ~bud /] %pub %watch /foo]
|
[%deal [~nec ~bud /] %pub %watch /foo]
|
||||||
:~ :- ~[/init] [%pass /sys/lag %a %heed ~bud]
|
:~ :- ~[/init] [%pass /sys/era %j %public-keys (sy ~bud ~)]
|
||||||
:- ~[/init] [%pass /sys/era %j %public-keys (sy ~bud ~)]
|
|
||||||
:- ~[/use/sub/0w1.d6Isf/out/~bud/pub/1/sub-foo/~bud /init]
|
:- ~[/use/sub/0w1.d6Isf/out/~bud/pub/1/sub-foo/~bud /init]
|
||||||
[%pass /sys/way/~bud/pub %a %plea ~bud %g /ge/pub [%0 %s /foo]]
|
[%pass /sys/way/~bud/pub %a %plea ~bud %g /ge/pub [%0 %s /foo]]
|
||||||
==
|
==
|
||||||
@ -84,8 +83,7 @@
|
|||||||
[~1111.1.2 0xbeef.dead *roof]
|
[~1111.1.2 0xbeef.dead *roof]
|
||||||
:- ~[/bone/~nec/0/1 //unix]
|
:- ~[/bone/~nec/0/1 //unix]
|
||||||
[%plea ~nec %g /ge/pub [%0 %s /foo]]
|
[%plea ~nec %g /ge/pub [%0 %s /foo]]
|
||||||
:~ :- ~[/init] [%pass /sys/lag %a %heed ~nec]
|
:~ :- ~[/init] [%pass /sys/era %j %public-keys (sy ~nec ~)]
|
||||||
:- ~[/init] [%pass /sys/era %j %public-keys (sy ~nec ~)]
|
|
||||||
:- ~[/bone/~nec/0/1 //unix]
|
:- ~[/bone/~nec/0/1 //unix]
|
||||||
[%pass /sys/req/~nec/pub %g %deal [~nec ~bud /] %pub %watch /foo]
|
[%pass /sys/req/~nec/pub %g %deal [~nec ~bud /] %pub %watch /foo]
|
||||||
==
|
==
|
||||||
@ -172,18 +170,6 @@
|
|||||||
~
|
~
|
||||||
==
|
==
|
||||||
:- t11 |. :- %|
|
:- t11 |. :- %|
|
||||||
:: start the clog and kick process; give clog to publisher gall
|
|
||||||
~? > dbug 'start the clog and kick process; give clog to publisher gall'
|
|
||||||
=^ t12 gall.bud
|
|
||||||
%: gall-check-take:v gall.bud
|
|
||||||
[~1111.1.4 0xbeef.dead *roof]
|
|
||||||
:+ /sys/lag ~[/init]
|
|
||||||
[%ames %clog ~nec]
|
|
||||||
:~ :- ~[/sys/req/~nec/pub /bone/~nec/0/1 //unix]
|
|
||||||
[%give %unto %kick ~]
|
|
||||||
==
|
|
||||||
==
|
|
||||||
:- t12 |. :- %|
|
|
||||||
:: gall gives %kick %boon to ames
|
:: gall gives %kick %boon to ames
|
||||||
~? > dbug 'gall gives %kick %boon to ames'
|
~? > dbug 'gall gives %kick %boon to ames'
|
||||||
=^ t13 gall.bud
|
=^ t13 gall.bud
|
||||||
|
Loading…
Reference in New Issue
Block a user