mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-20 21:31:32 +03:00
Merge pull request #6430 from urbit/fix-next-kelvin-ci
ci: fix `next/kelvin/*` workflows
This commit is contained in:
commit
8749a0dac2
4
.github/workflows/develop.yml
vendored
4
.github/workflows/develop.yml
vendored
@ -9,7 +9,7 @@ on:
|
|||||||
- '.github/workflows/develop.yml'
|
- '.github/workflows/develop.yml'
|
||||||
- '.github/workflows/release.yml'
|
- '.github/workflows/release.yml'
|
||||||
- '.github/workflows/master.yml'
|
- '.github/workflows/master.yml'
|
||||||
- '.github/workflows/vere.yml'
|
- '.github/workflows/shared.yml'
|
||||||
- 'pkg/arvo/**'
|
- 'pkg/arvo/**'
|
||||||
- 'pkg/docker-image/**'
|
- 'pkg/docker-image/**'
|
||||||
- 'pkg/ent/**'
|
- 'pkg/ent/**'
|
||||||
@ -24,7 +24,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
call-vere:
|
call-vere:
|
||||||
uses: ./.github/workflows/vere.yml
|
uses: ./.github/workflows/shared.yml
|
||||||
with:
|
with:
|
||||||
pace: 'edge'
|
pace: 'edge'
|
||||||
upload: >-
|
upload: >-
|
||||||
|
4
.github/workflows/feature.yml
vendored
4
.github/workflows/feature.yml
vendored
@ -7,7 +7,7 @@ on:
|
|||||||
- '.github/workflows/develop.yml'
|
- '.github/workflows/develop.yml'
|
||||||
- '.github/workflows/release.yml'
|
- '.github/workflows/release.yml'
|
||||||
- '.github/workflows/master.yml'
|
- '.github/workflows/master.yml'
|
||||||
- '.github/workflows/vere.yml'
|
- '.github/workflows/shared.yml'
|
||||||
- 'pkg/arvo/**'
|
- 'pkg/arvo/**'
|
||||||
- 'pkg/docker-image/**'
|
- 'pkg/docker-image/**'
|
||||||
- 'pkg/ent/**'
|
- 'pkg/ent/**'
|
||||||
@ -22,7 +22,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
call-vere:
|
call-vere:
|
||||||
uses: ./.github/workflows/vere.yml
|
uses: ./.github/workflows/shared.yml
|
||||||
with:
|
with:
|
||||||
pace: 'edge'
|
pace: 'edge'
|
||||||
upload: >-
|
upload: >-
|
||||||
|
4
.github/workflows/master.yml
vendored
4
.github/workflows/master.yml
vendored
@ -9,7 +9,7 @@ on:
|
|||||||
- '.github/workflows/develop.yml'
|
- '.github/workflows/develop.yml'
|
||||||
- '.github/workflows/release.yml'
|
- '.github/workflows/release.yml'
|
||||||
- '.github/workflows/master.yml'
|
- '.github/workflows/master.yml'
|
||||||
- '.github/workflows/vere.yml'
|
- '.github/workflows/shared.yml'
|
||||||
- 'pkg/arvo/**'
|
- 'pkg/arvo/**'
|
||||||
- 'pkg/docker-image/**'
|
- 'pkg/docker-image/**'
|
||||||
- 'pkg/ent/**'
|
- 'pkg/ent/**'
|
||||||
@ -24,7 +24,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
call-vere:
|
call-vere:
|
||||||
uses: ./.github/workflows/vere.yml
|
uses: ./.github/workflows/shared.yml
|
||||||
with:
|
with:
|
||||||
pace: 'live'
|
pace: 'live'
|
||||||
upload: >-
|
upload: >-
|
||||||
|
31
.github/workflows/next.yml
vendored
Normal file
31
.github/workflows/next.yml
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
name: Push to next/kelvin/*
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'next/kelvin/*'
|
||||||
|
paths:
|
||||||
|
- '.github/workflows/feature.yml'
|
||||||
|
- '.github/workflows/develop.yml'
|
||||||
|
- '.github/workflows/release.yml'
|
||||||
|
- '.github/workflows/master.yml'
|
||||||
|
- '.github/workflows/shared.yml'
|
||||||
|
- 'pkg/arvo/**'
|
||||||
|
- 'pkg/docker-image/**'
|
||||||
|
- 'pkg/ent/**'
|
||||||
|
- 'pkg/ge-additions/**'
|
||||||
|
- 'pkg/libaes_siv/**'
|
||||||
|
- 'pkg/urbit/**'
|
||||||
|
- 'pkg/urcrypt/**'
|
||||||
|
- 'tests/**'
|
||||||
|
- 'bin/**'
|
||||||
|
- 'nix/**'
|
||||||
|
- 'default.nix'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call-vere:
|
||||||
|
uses: ./.github/workflows/shared.yml
|
||||||
|
with:
|
||||||
|
upload: true
|
||||||
|
next: ${{ github.ref_name }}
|
||||||
|
secrets: inherit
|
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@ -9,7 +9,7 @@ on:
|
|||||||
- '.github/workflows/develop.yml'
|
- '.github/workflows/develop.yml'
|
||||||
- '.github/workflows/release.yml'
|
- '.github/workflows/release.yml'
|
||||||
- '.github/workflows/master.yml'
|
- '.github/workflows/master.yml'
|
||||||
- '.github/workflows/vere.yml'
|
- '.github/workflows/shared.yml'
|
||||||
- 'pkg/arvo/**'
|
- 'pkg/arvo/**'
|
||||||
- 'pkg/docker-image/**'
|
- 'pkg/docker-image/**'
|
||||||
- 'pkg/ent/**'
|
- 'pkg/ent/**'
|
||||||
@ -24,7 +24,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
call-vere:
|
call-vere:
|
||||||
uses: ./.github/workflows/vere.yml
|
uses: ./.github/workflows/shared.yml
|
||||||
with:
|
with:
|
||||||
pace: 'soon'
|
pace: 'soon'
|
||||||
upload: >-
|
upload: >-
|
||||||
|
@ -14,6 +14,11 @@ on:
|
|||||||
type: string
|
type: string
|
||||||
default: 'edge'
|
default: 'edge'
|
||||||
required: false
|
required: false
|
||||||
|
next:
|
||||||
|
description: 'next kelvin version branch name'
|
||||||
|
type: string
|
||||||
|
default: null
|
||||||
|
required: false
|
||||||
secrets:
|
secrets:
|
||||||
CACHIX_AUTH_TOKEN:
|
CACHIX_AUTH_TOKEN:
|
||||||
required: false
|
required: false
|
||||||
@ -73,9 +78,15 @@ jobs:
|
|||||||
name: run urbit-tests
|
name: run urbit-tests
|
||||||
run: |
|
run: |
|
||||||
cp -RL tests pkg/arvo/tests
|
cp -RL tests pkg/arvo/tests
|
||||||
vere=$(curl https://bootstrap.urbit.org/vere/${{ inputs.pace }}/last)
|
if ${{ inputs.next != null }}; then
|
||||||
|
next=$(echo ${{ inputs.next }} | sed 's/[^0-9]//g')
|
||||||
|
base="https://bootstrap.urbit.org/vere/next/kelvin/${next}"
|
||||||
|
else
|
||||||
|
base="https://bootstrap.urbit.org/vere/${{ inputs.pace }}"
|
||||||
|
fi
|
||||||
|
vere=$(curl ${base}/last)
|
||||||
|
url="$(echo ${base}/v${vere}/vere-v${vere}-linux-x86_64)"
|
||||||
echo $vere
|
echo $vere
|
||||||
url="$(echo https://bootstrap.urbit.org/vere/${{ inputs.pace }}/v${vere}/vere-v${vere}-linux-x86_64)"
|
|
||||||
echo $url
|
echo $url
|
||||||
# put in .jam so it doesn't crash when it gets -A'd in
|
# put in .jam so it doesn't crash when it gets -A'd in
|
||||||
curl -Lo pkg/arvo/vere.jam "$url"
|
curl -Lo pkg/arvo/vere.jam "$url"
|
@ -485,11 +485,10 @@
|
|||||||
=/ =desk +.val
|
=/ =desk +.val
|
||||||
=. userspace-ova.pil
|
=. userspace-ova.pil
|
||||||
:: take all files from a userspace desk
|
:: take all files from a userspace desk
|
||||||
=/ all-dirs=(list path) ~[/]
|
|
||||||
:_ ~
|
:_ ~
|
||||||
%- unix-event:pill-lib
|
%- unix-event:pill-lib
|
||||||
%+ %*(. file-ovum:pill-lib directories all-dirs)
|
%- file-ovum:pill-lib
|
||||||
desk /(scot %p our.hid)/[desk]/(scot %da now.hid)
|
[desk /(scot %p our.hid)/[desk]/(scot %da now.hid) ~]
|
||||||
=^ ms state (poke-pill pil)
|
=^ ms state (poke-pill pil)
|
||||||
(emit-cards ms)
|
(emit-cards ms)
|
||||||
::
|
::
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
==
|
==
|
||||||
::
|
::
|
||||||
prime=_|
|
prime=_|
|
||||||
|
exc=(list spur)
|
||||||
==
|
==
|
||||||
:- %pill
|
:- %pill
|
||||||
^- pill:pill
|
^- pill:pill
|
||||||
@ -45,4 +46,4 @@
|
|||||||
|= =desk
|
|= =desk
|
||||||
[desk /(scot %p p.bec)/[desk]/(scot %da now)]
|
[desk /(scot %p p.bec)/[desk]/(scot %da now)]
|
||||||
::
|
::
|
||||||
(brass:pill sys dez prime)
|
(brass:pill sys dez prime exc)
|
||||||
|
@ -5,6 +5,6 @@
|
|||||||
::::
|
::::
|
||||||
::
|
::
|
||||||
:- %say
|
:- %say
|
||||||
|= [^ ships=(list ship) ~]
|
|= [^ [form=?(%allow %deny) ships=(list ship)] ~]
|
||||||
:- %helm-ames-snub
|
:- %helm-ames-snub
|
||||||
ships
|
[form ships]
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
::
|
::
|
||||||
dub=_|
|
dub=_|
|
||||||
prime=_|
|
prime=_|
|
||||||
|
exc=(list spur)
|
||||||
==
|
==
|
||||||
:- %pill
|
:- %pill
|
||||||
^- pill:pill
|
^- pill:pill
|
||||||
@ -46,4 +47,4 @@
|
|||||||
|= =desk
|
|= =desk
|
||||||
[desk /(scot %p p.bec)/[desk]/(scot %da now)]
|
[desk /(scot %p p.bec)/[desk]/(scot %da now)]
|
||||||
::
|
::
|
||||||
(solid:pill sys dez dub now prime)
|
(solid:pill sys dez dub now prime exc)
|
||||||
|
@ -202,8 +202,8 @@
|
|||||||
abet:(emit %pass /helm/prod %arvo %a %prod ships)
|
abet:(emit %pass /helm/prod %arvo %a %prod ships)
|
||||||
::
|
::
|
||||||
++ poke-ames-snub
|
++ poke-ames-snub
|
||||||
|= ships=(list ship)
|
|= snub=[form=?(%allow %deny) ships=(list ship)]
|
||||||
abet:(emit %pass /helm/snub %arvo %a %snub ships)
|
abet:(emit %pass /helm/snub %arvo %a %snub snub)
|
||||||
::
|
::
|
||||||
++ poke-atom
|
++ poke-atom
|
||||||
|= ato=@
|
|= ato=@
|
||||||
|
@ -583,15 +583,13 @@
|
|||||||
..abet
|
..abet
|
||||||
=/ kel i.wic
|
=/ kel i.wic
|
||||||
%- emil
|
%- emil
|
||||||
=/ cards
|
=/ desks=(list [=desk =zest])
|
||||||
%+ murn ~(tap by rock)
|
%+ murn ~(tap by rock)
|
||||||
|= [=desk =zest wic=(set weft)]
|
|= [=desk =zest wic=(set weft)]
|
||||||
?: |(=(%base desk) !?=(%live zest) (~(has in wic) kel))
|
?: |(=(%base desk) !?=(%live zest) (~(has in wic) kel))
|
||||||
~
|
~
|
||||||
`u=[%pass /kiln/bump/[desk] %arvo %c %zest desk %held]
|
`u=[desk %held]
|
||||||
?~ cards
|
[%pass /kiln/bump/zeal %arvo %c %zeal desks]~
|
||||||
[%pass /kiln/bump/wick %arvo %c %wick ~]~
|
|
||||||
cards
|
|
||||||
::
|
::
|
||||||
++ poke-cancel
|
++ poke-cancel
|
||||||
|= a=@tas
|
|= a=@tas
|
||||||
|
@ -361,7 +361,7 @@
|
|||||||
:: %init: vane boot
|
:: %init: vane boot
|
||||||
:: %prod: re-send a packet per flow, to all peers if .ships is ~
|
:: %prod: re-send a packet per flow, to all peers if .ships is ~
|
||||||
:: %sift: limit verbosity to .ships
|
:: %sift: limit verbosity to .ships
|
||||||
:: %snub: set packet blacklist to .ships
|
:: %snub: set packet blocklist to .ships
|
||||||
:: %spew: set verbosity toggles
|
:: %spew: set verbosity toggles
|
||||||
:: %cong: adjust congestion control parameters
|
:: %cong: adjust congestion control parameters
|
||||||
:: %stir: recover from timer desync
|
:: %stir: recover from timer desync
|
||||||
@ -380,7 +380,7 @@
|
|||||||
$>(%init vane-task)
|
$>(%init vane-task)
|
||||||
[%prod ships=(list ship)]
|
[%prod ships=(list ship)]
|
||||||
[%sift ships=(list ship)]
|
[%sift ships=(list ship)]
|
||||||
[%snub ships=(list ship)]
|
[%snub form=?(%allow %deny) ships=(list ship)]
|
||||||
[%spew veb=(list verb)]
|
[%spew veb=(list verb)]
|
||||||
[%cong msg=@ud mem=@ud]
|
[%cong msg=@ud mem=@ud]
|
||||||
[%stir arg=@t]
|
[%stir arg=@t]
|
||||||
@ -522,7 +522,6 @@
|
|||||||
:: heeds: listeners for %clog notifications
|
:: 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
|
||||||
:: krocs: bones that need to be sent again to the publisher
|
|
||||||
::
|
::
|
||||||
+$ peer-state
|
+$ peer-state
|
||||||
$: $: =symmetric-key
|
$: $: =symmetric-key
|
||||||
@ -540,7 +539,6 @@
|
|||||||
heeds=(set duct)
|
heeds=(set duct)
|
||||||
closing=(set bone)
|
closing=(set bone)
|
||||||
corked=(set bone)
|
corked=(set bone)
|
||||||
krocs=(set bone)
|
|
||||||
==
|
==
|
||||||
:: $qos: quality of service; how is our connection to a peer doing?
|
:: $qos: quality of service; how is our connection to a peer doing?
|
||||||
::
|
::
|
||||||
@ -801,6 +799,7 @@
|
|||||||
[%warp wer=ship rif=riff] :: internal file req
|
[%warp wer=ship rif=riff] :: internal file req
|
||||||
[%werp who=ship wer=ship rif=riff-any] :: external file req
|
[%werp who=ship wer=ship rif=riff-any] :: external file req
|
||||||
[%wick ~] :: try upgrade
|
[%wick ~] :: try upgrade
|
||||||
|
[%zeal lit=(list [=desk =zest])] :: batch zest
|
||||||
[%zest des=desk liv=zest] :: live
|
[%zest des=desk liv=zest] :: live
|
||||||
$>(%plea vane-task) :: ames request
|
$>(%plea vane-task) :: ames request
|
||||||
== ::
|
== ::
|
||||||
@ -1426,6 +1425,9 @@
|
|||||||
:: start responding negatively to cors requests from origin
|
:: start responding negatively to cors requests from origin
|
||||||
::
|
::
|
||||||
[%reject-origin =origin]
|
[%reject-origin =origin]
|
||||||
|
:: %spew: set verbosity toggle
|
||||||
|
::
|
||||||
|
[%spew veb=@]
|
||||||
==
|
==
|
||||||
:: +origin: request origin as specified in an Origin header
|
:: +origin: request origin as specified in an Origin header
|
||||||
::
|
::
|
||||||
|
@ -612,19 +612,17 @@
|
|||||||
:: snub: blocklist for incoming packets
|
:: snub: blocklist for incoming packets
|
||||||
:: cong: parameters for marking a flow as clogged
|
:: cong: parameters for marking a flow as clogged
|
||||||
::
|
::
|
||||||
:: Note: .corks is only still present for unreleased migration reasons
|
|
||||||
::
|
|
||||||
::
|
|
||||||
+$ ames-state
|
+$ ames-state
|
||||||
$: peers=(map ship ship-state) :: TODO: remove krocs from peer-state
|
$: peers=(map ship ship-state)
|
||||||
=unix=duct
|
=unix=duct
|
||||||
=life
|
=life
|
||||||
crypto-core=acru:ames
|
crypto-core=acru:ames
|
||||||
=bug
|
=bug
|
||||||
corks=(set wire) :: TODO: remove next state update
|
snub=[form=?(%allow %deny) ships=(set ship)]
|
||||||
snub=(set ship)
|
|
||||||
cong=[msg=@ud mem=@ud]
|
cong=[msg=@ud mem=@ud]
|
||||||
==
|
==
|
||||||
|
::
|
||||||
|
+$ azimuth-state [=symmetric-key =life =rift =public-key sponsor=ship]
|
||||||
+$ ames-state-4 ames-state-5
|
+$ ames-state-4 ames-state-5
|
||||||
+$ ames-state-5
|
+$ ames-state-5
|
||||||
$: peers=(map ship ship-state-5)
|
$: peers=(map ship ship-state-5)
|
||||||
@ -641,11 +639,7 @@
|
|||||||
==
|
==
|
||||||
::
|
::
|
||||||
+$ peer-state-5
|
+$ peer-state-5
|
||||||
$: $: =symmetric-key
|
$: azimuth-state
|
||||||
=life
|
|
||||||
=public-key
|
|
||||||
sponsor=ship
|
|
||||||
==
|
|
||||||
route=(unit [direct=? =lane])
|
route=(unit [direct=? =lane])
|
||||||
=qos
|
=qos
|
||||||
=ossuary
|
=ossuary
|
||||||
@ -655,6 +649,11 @@
|
|||||||
heeds=(set duct)
|
heeds=(set duct)
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
|
+$ bug-9
|
||||||
|
$: veb=_[`?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n]
|
||||||
|
ships=(set ship)
|
||||||
|
==
|
||||||
|
::
|
||||||
+$ ames-state-6
|
+$ ames-state-6
|
||||||
$: peers=(map ship ship-state-6)
|
$: peers=(map ship ship-state-6)
|
||||||
=unix=duct
|
=unix=duct
|
||||||
@ -669,12 +668,7 @@
|
|||||||
==
|
==
|
||||||
::
|
::
|
||||||
+$ peer-state-6
|
+$ peer-state-6
|
||||||
$: $: =symmetric-key
|
$: azimuth-state
|
||||||
=life
|
|
||||||
=rift
|
|
||||||
=public-key
|
|
||||||
sponsor=ship
|
|
||||||
==
|
|
||||||
route=(unit [direct=? =lane])
|
route=(unit [direct=? =lane])
|
||||||
=qos
|
=qos
|
||||||
=ossuary
|
=ossuary
|
||||||
@ -685,7 +679,7 @@
|
|||||||
==
|
==
|
||||||
::
|
::
|
||||||
+$ ames-state-7
|
+$ ames-state-7
|
||||||
$: peers=(map ship ship-state)
|
$: peers=(map ship ship-state-7)
|
||||||
=unix=duct
|
=unix=duct
|
||||||
=life
|
=life
|
||||||
crypto-core=acru:ames
|
crypto-core=acru:ames
|
||||||
@ -693,7 +687,7 @@
|
|||||||
==
|
==
|
||||||
::
|
::
|
||||||
+$ ames-state-8
|
+$ ames-state-8
|
||||||
$: peers=(map ship ship-state)
|
$: peers=(map ship ship-state-7)
|
||||||
=unix=duct
|
=unix=duct
|
||||||
=life
|
=life
|
||||||
crypto-core=acru:ames
|
crypto-core=acru:ames
|
||||||
@ -701,18 +695,8 @@
|
|||||||
corks=(set wire)
|
corks=(set wire)
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
+$ bug-9
|
|
||||||
$: veb=_[`?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n]
|
|
||||||
ships=(set ship)
|
|
||||||
==
|
|
||||||
::
|
|
||||||
+$ bug-10
|
|
||||||
$: veb=_[`?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n]
|
|
||||||
ships=(set ship)
|
|
||||||
==
|
|
||||||
::
|
|
||||||
+$ ames-state-9
|
+$ ames-state-9
|
||||||
$: peers=(map ship ship-state)
|
$: peers=(map ship ship-state-7)
|
||||||
=unix=duct
|
=unix=duct
|
||||||
=life
|
=life
|
||||||
crypto-core=acru:ames
|
crypto-core=acru:ames
|
||||||
@ -722,15 +706,54 @@
|
|||||||
==
|
==
|
||||||
::
|
::
|
||||||
+$ ames-state-10
|
+$ ames-state-10
|
||||||
$: peers=(map ship ship-state)
|
$: peers=(map ship ship-state-7)
|
||||||
=unix=duct
|
=unix=duct
|
||||||
=life
|
=life
|
||||||
crypto-core=acru:ames
|
crypto-core=acru:ames
|
||||||
bug=bug-10
|
=bug
|
||||||
corks=(set wire)
|
corks=(set wire)
|
||||||
snub=(set ship)
|
snub=(set ship)
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
|
+$ ship-state-7
|
||||||
|
$% [%alien alien-agenda]
|
||||||
|
[%known peer-state-7]
|
||||||
|
==
|
||||||
|
::
|
||||||
|
+$ peer-state-7
|
||||||
|
$: azimuth-state
|
||||||
|
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)
|
||||||
|
krocs=(set bone)
|
||||||
|
==
|
||||||
|
::
|
||||||
|
+$ ames-state-11
|
||||||
|
$: peers=(map ship ship-state-7)
|
||||||
|
=unix=duct
|
||||||
|
=life
|
||||||
|
crypto-core=acru:ames
|
||||||
|
=bug
|
||||||
|
corks=(set wire)
|
||||||
|
snub=(set ship)
|
||||||
|
cong=[msg=@ud mem=@ud]
|
||||||
|
==
|
||||||
|
::
|
||||||
|
+$ queued-event-11
|
||||||
|
$% [%call =duct wrapped-task=(hobo task-11)]
|
||||||
|
[%take =wire =duct =sign]
|
||||||
|
==
|
||||||
|
::
|
||||||
|
+$ task-11
|
||||||
|
$% [%snub ships=(list ship)]
|
||||||
|
$<(%snub task)
|
||||||
|
==
|
||||||
:: $bug: debug printing configuration
|
:: $bug: debug printing configuration
|
||||||
::
|
::
|
||||||
:: veb: verbosity toggles
|
:: veb: verbosity toggles
|
||||||
@ -857,7 +880,8 @@
|
|||||||
[%8 ames-state-8]
|
[%8 ames-state-8]
|
||||||
[%9 ames-state-9]
|
[%9 ames-state-9]
|
||||||
[%10 ames-state-10]
|
[%10 ames-state-10]
|
||||||
[%11 ^ames-state]
|
[%11 ames-state-11]
|
||||||
|
[%12 ^ames-state]
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
|= [now=@da eny=@ rof=roof]
|
|= [now=@da eny=@ rof=roof]
|
||||||
@ -980,7 +1004,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 [%11 %larva queued-events ames-state.adult-gate]
|
++ stay [%12 %larva queued-events ames-state.adult-gate]
|
||||||
++ load
|
++ load
|
||||||
|= $= old
|
|= $= old
|
||||||
$% $: %4
|
$% $: %4
|
||||||
@ -1033,6 +1057,13 @@
|
|||||||
[%adult state=ames-state-10]
|
[%adult state=ames-state-10]
|
||||||
== ==
|
== ==
|
||||||
$: %11
|
$: %11
|
||||||
|
$% $: %larva
|
||||||
|
events=(qeu queued-event-11)
|
||||||
|
state=ames-state-11
|
||||||
|
==
|
||||||
|
[%adult state=ames-state-11]
|
||||||
|
== ==
|
||||||
|
$: %12
|
||||||
$% $: %larva
|
$% $: %larva
|
||||||
events=(qeu queued-event)
|
events=(qeu queued-event)
|
||||||
state=_ames-state.adult-gate
|
state=_ames-state.adult-gate
|
||||||
@ -1107,12 +1138,32 @@
|
|||||||
=. queued-events events.old
|
=. queued-events events.old
|
||||||
larval-gate
|
larval-gate
|
||||||
::
|
::
|
||||||
[%11 %adult *] (load:adult-core %11 state.old)
|
[%11 %adult *]
|
||||||
|
=. cached-state `[%11 state.old]
|
||||||
|
~> %slog.0^leaf/"ames: larva reload"
|
||||||
|
larval-gate
|
||||||
::
|
::
|
||||||
[%11 %larva *]
|
[%11 %larva *]
|
||||||
~> %slog.1^leaf/"ames: larva: load"
|
~> %slog.1^leaf/"ames: larva: load"
|
||||||
|
=. queued-events
|
||||||
|
:: "+rep:in on a +qeu looks strange, but works fine."
|
||||||
|
::
|
||||||
|
%- ~(rep in events.old)
|
||||||
|
|= [e=queued-event-11 q=(qeu queued-event)]
|
||||||
|
%- ~(put to q) ^- queued-event
|
||||||
|
?. ?=(%call -.e) e
|
||||||
|
=/ task=task-11 ((harden task-11) wrapped-task.e)
|
||||||
|
%= e
|
||||||
|
wrapped-task ?.(?=(%snub -.task) task [%snub %deny ships.task])
|
||||||
|
==
|
||||||
|
larval-gate
|
||||||
|
::
|
||||||
|
[%12 %adult *] (load:adult-core %12 state.old)
|
||||||
|
::
|
||||||
|
[%12 %larva *]
|
||||||
|
~> %slog.1^leaf/"ames: larva: load"
|
||||||
=. queued-events events.old
|
=. queued-events events.old
|
||||||
=. adult-gate (load:adult-core %11 state.old)
|
=. adult-gate (load:adult-core %12 state.old)
|
||||||
larval-gate
|
larval-gate
|
||||||
::
|
::
|
||||||
==
|
==
|
||||||
@ -1137,7 +1188,9 @@
|
|||||||
10+(state-9-to-10:load:adult-core +.u.cached-state)
|
10+(state-9-to-10:load:adult-core +.u.cached-state)
|
||||||
=? u.cached-state ?=(%10 -.u.cached-state)
|
=? u.cached-state ?=(%10 -.u.cached-state)
|
||||||
11+(state-10-to-11:load:adult-core +.u.cached-state)
|
11+(state-10-to-11:load:adult-core +.u.cached-state)
|
||||||
?> ?=(%11 -.u.cached-state)
|
=? u.cached-state ?=(%11 -.u.cached-state)
|
||||||
|
12+(state-11-to-12:load:adult-core +.u.cached-state)
|
||||||
|
?> ?=(%12 -.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 ~)]
|
||||||
--
|
--
|
||||||
@ -1269,9 +1322,9 @@
|
|||||||
:: +on-snub: handle request to change ship blacklist
|
:: +on-snub: handle request to change ship blacklist
|
||||||
::
|
::
|
||||||
++ on-snub
|
++ on-snub
|
||||||
|= ships=(list ship)
|
|= [form=?(%allow %deny) ships=(list ship)]
|
||||||
^+ event-core
|
^+ event-core
|
||||||
=. snub.ames-state (sy ships)
|
=. snub.ames-state [form (sy ships)]
|
||||||
event-core
|
event-core
|
||||||
:: +on-spew: handle request to set verbosity toggles on debug output
|
:: +on-spew: handle request to set verbosity toggles on debug output
|
||||||
::
|
::
|
||||||
@ -1413,11 +1466,12 @@
|
|||||||
~/ %on-hear-packet
|
~/ %on-hear-packet
|
||||||
|= [=lane =packet dud=(unit goof)]
|
|= [=lane =packet dud=(unit goof)]
|
||||||
^+ event-core
|
^+ event-core
|
||||||
%- (ev-trace odd.veb sndr.packet |.("received packet"))
|
%- (ev-trace rcv.veb sndr.packet |.("received packet"))
|
||||||
::
|
::
|
||||||
?: =(our sndr.packet)
|
?: =(our sndr.packet)
|
||||||
event-core
|
event-core
|
||||||
?: (~(has in snub.ames-state) sndr.packet)
|
?: .= =(%deny form.snub.ames-state)
|
||||||
|
(~(has in ships.snub.ames-state) sndr.packet)
|
||||||
%- (ev-trace rcv.veb sndr.packet |.("snubbed"))
|
%- (ev-trace rcv.veb sndr.packet |.("snubbed"))
|
||||||
event-core
|
event-core
|
||||||
::
|
::
|
||||||
@ -3386,6 +3440,15 @@
|
|||||||
++ closing (~(has in closing.peer-state) bone)
|
++ closing (~(has in closing.peer-state) bone)
|
||||||
++ corked (~(has in corked.peer-state) bone)
|
++ corked (~(has in corked.peer-state) bone)
|
||||||
++ pump-core |=(=^bone (mu bone *message-pump-state))
|
++ pump-core |=(=^bone (mu bone *message-pump-state))
|
||||||
|
++ received
|
||||||
|
|= =^bone
|
||||||
|
:: odd bone: %plea request message
|
||||||
|
:: even bone, 0 second bit: %boon response message
|
||||||
|
:: even bone, 1 second bit: nack-trace %boon message
|
||||||
|
::
|
||||||
|
?: =(1 (end 0 bone)) %plea
|
||||||
|
?: =(0 (end 0 (rsh 0 bone))) %boon
|
||||||
|
%nack
|
||||||
::
|
::
|
||||||
+| %entry-points
|
+| %entry-points
|
||||||
:: +call: handle a $message-sink-task
|
:: +call: handle a $message-sink-task
|
||||||
@ -3393,18 +3456,24 @@
|
|||||||
++ call
|
++ call
|
||||||
|= task=message-sink-task
|
|= task=message-sink-task
|
||||||
^+ sink
|
^+ sink
|
||||||
:: if we get a plea request and have corked this flow, always ack
|
|
||||||
::
|
|
||||||
?: corked
|
|
||||||
=? peer-core &(?=(%hear -.task) =(1 (end 0 bone)))
|
|
||||||
%- (mi-trace odd.veb |.("hear plea on a corked bone={<bone>}"))
|
|
||||||
%+ send-shut-packet bone
|
|
||||||
[message-num.shut-packet.task %| %| ok=& lag=*@dr]
|
|
||||||
sink
|
|
||||||
?- -.task
|
?- -.task
|
||||||
%drop sink(nax.state (~(del in nax.state) message-num.task))
|
%drop sink(nax.state (~(del in nax.state) message-num.task))
|
||||||
%done (done ok.task)
|
%done (done ok.task)
|
||||||
%hear (hear [lane shut-packet ok]:task)
|
::
|
||||||
|
%hear
|
||||||
|
?. ?| corked
|
||||||
|
?& %*(corked sink bone (mix 0b10 bone))
|
||||||
|
=(%nack (received bone))
|
||||||
|
== ==
|
||||||
|
(hear [lane shut-packet ok]:task)
|
||||||
|
:: if we %hear a task on a corked bone, always ack
|
||||||
|
::
|
||||||
|
=. peer-core
|
||||||
|
%+ send-shut-packet bone
|
||||||
|
[message-num.shut-packet.task %| %| ok=& lag=*@dr]
|
||||||
|
%. sink
|
||||||
|
%+ mi-trace odd.veb
|
||||||
|
|.("hear {<(received bone)>} on corked bone={<bone>}")
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
+| %tasks
|
+| %tasks
|
||||||
@ -3574,18 +3643,12 @@
|
|||||||
+| %implementation
|
+| %implementation
|
||||||
:: +handle-sink: dispatch message
|
:: +handle-sink: dispatch message
|
||||||
::
|
::
|
||||||
:: odd bone: %plea request message
|
|
||||||
:: even bone, 0 second bit: %boon response message
|
|
||||||
:: even bone, 1 second bit: nack-trace %boon message
|
|
||||||
::
|
|
||||||
++ handle-sink
|
++ handle-sink
|
||||||
|= [=message-num message=* ok=?]
|
|= [=message-num message=* ok=?]
|
||||||
|^ ^+ sink
|
^+ sink
|
||||||
?: =(1 (end 0 bone)) sink-plea
|
|^ ?-((received bone) %plea ha-plea, %boon ha-boon, %nack ha-nack)
|
||||||
?: =(0 (end 0 (rsh 0 bone))) sink-boon
|
::
|
||||||
sink-nack
|
++ ha-plea
|
||||||
:: XX FIXME: impure +abet pattern
|
|
||||||
++ sink-plea
|
|
||||||
^+ sink
|
^+ sink
|
||||||
?: |(closing corked) sink
|
?: |(closing corked) sink
|
||||||
%- %+ mi-trace msg.veb
|
%- %+ mi-trace msg.veb
|
||||||
@ -3619,7 +3682,7 @@
|
|||||||
=. closing.peer-state (~(put in closing.peer-state) bone)
|
=. closing.peer-state (~(put in closing.peer-state) bone)
|
||||||
(pe-emit duct %pass wire %a %plea her [%a /close ~])
|
(pe-emit duct %pass wire %a %plea her [%a /close ~])
|
||||||
::
|
::
|
||||||
:: +sink-boon: handle response message, acking unconditionally
|
:: +ha-boon: handle response message, acking unconditionally
|
||||||
::
|
::
|
||||||
:: .bone must be mapped in .ossuary.peer-state, or we crash.
|
:: .bone must be mapped in .ossuary.peer-state, or we crash.
|
||||||
:: This means a malformed message will kill a flow. We
|
:: This means a malformed message will kill a flow. We
|
||||||
@ -3633,7 +3696,7 @@
|
|||||||
:: TODO: This handles a previous crash in the client vane, but
|
:: TODO: This handles a previous crash in the client vane, but
|
||||||
:: not in %ames itself.
|
:: not in %ames itself.
|
||||||
::
|
::
|
||||||
++ sink-boon
|
++ ha-boon
|
||||||
^+ sink
|
^+ sink
|
||||||
?: |(closing corked) sink
|
?: |(closing corked) sink
|
||||||
%- %+ mi-trace msg.veb |.
|
%- %+ mi-trace msg.veb |.
|
||||||
@ -3654,7 +3717,7 @@
|
|||||||
::
|
::
|
||||||
(call %done ok=%.y)
|
(call %done ok=%.y)
|
||||||
::
|
::
|
||||||
++ sink-nack
|
++ ha-nack
|
||||||
^+ sink
|
^+ sink
|
||||||
:: if we get a naxplanation for a %cork, the publisher hasn't
|
:: if we get a naxplanation for a %cork, the publisher hasn't
|
||||||
:: received the OTA. The /recork timer will retry eventually.
|
:: received the OTA. The /recork timer will retry eventually.
|
||||||
@ -3712,7 +3775,7 @@
|
|||||||
%jilt (on-jilt:event-core ship.task)
|
%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 ships.task)
|
%snub (on-snub:event-core [form ships]:task)
|
||||||
%spew (on-spew:event-core veb.task)
|
%spew (on-spew:event-core veb.task)
|
||||||
%cong (on-cong:event-core [msg mem]:task)
|
%cong (on-cong:event-core [msg mem]:task)
|
||||||
%stir (on-stir:event-core arg.task)
|
%stir (on-stir:event-core arg.task)
|
||||||
@ -3750,15 +3813,15 @@
|
|||||||
[moves ames-gate]
|
[moves ames-gate]
|
||||||
:: +stay: extract state before reload
|
:: +stay: extract state before reload
|
||||||
::
|
::
|
||||||
++ stay [%11 %adult ames-state]
|
++ stay [%12 %adult ames-state]
|
||||||
:: +load: load in old state after reload
|
:: +load: load in old state after reload
|
||||||
::
|
::
|
||||||
++ load
|
++ load
|
||||||
=< |= $= old-state
|
=< |= $= old-state
|
||||||
$% [%11 ^ames-state]
|
$% [%12 ^ames-state]
|
||||||
==
|
==
|
||||||
^+ ames-gate
|
^+ ames-gate
|
||||||
?> ?=(%11 -.old-state)
|
?> ?=(%12 -.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
|
||||||
::
|
::
|
||||||
@ -3809,11 +3872,11 @@
|
|||||||
:_ +.ames-state
|
:_ +.ames-state
|
||||||
%- ~(run by peers.ames-state)
|
%- ~(run by peers.ames-state)
|
||||||
|= ship-state=ship-state-6
|
|= ship-state=ship-state-6
|
||||||
^- ^ship-state
|
^- ship-state-7
|
||||||
?. ?=(%known -.ship-state)
|
?. ?=(%known -.ship-state)
|
||||||
ship-state
|
ship-state
|
||||||
:- %known
|
:- %known
|
||||||
^- peer-state
|
^- peer-state-7
|
||||||
:- +<.ship-state
|
:- +<.ship-state
|
||||||
[route qos ossuary snd rcv nax heeds ~ ~ ~]:ship-state
|
[route qos ossuary snd rcv nax heeds ~ ~ ~]:ship-state
|
||||||
::
|
::
|
||||||
@ -3846,13 +3909,26 @@
|
|||||||
::
|
::
|
||||||
++ state-10-to-11
|
++ state-10-to-11
|
||||||
|= ames-state=ames-state-10
|
|= ames-state=ames-state-10
|
||||||
^- ^^ames-state
|
^- ames-state-11
|
||||||
=, ames-state
|
=, ames-state
|
||||||
:* peers unix-duct life crypto-core bug corks snub
|
:* peers unix-duct life crypto-core bug corks snub
|
||||||
:: 5 messages and 100Kb of data outstanding
|
:: 5 messages and 100Kb of data outstanding
|
||||||
::
|
::
|
||||||
[msg=5 mem=100.000]
|
[msg=5 mem=100.000]
|
||||||
==
|
==
|
||||||
|
::
|
||||||
|
++ state-11-to-12
|
||||||
|
|= ames-state=ames-state-11
|
||||||
|
^- ^^ames-state
|
||||||
|
:_ [unix-duct life crypto-core bug [%deny snub] cong]:ames-state
|
||||||
|
%- ~(run by peers.ames-state)
|
||||||
|
|= ship-state=ship-state-7
|
||||||
|
^- ^ship-state
|
||||||
|
?. ?=(%known -.ship-state)
|
||||||
|
ship-state
|
||||||
|
%= ship-state
|
||||||
|
+> [route qos ossuary snd rcv nax heeds closing corked]:+>.ship-state
|
||||||
|
==
|
||||||
--
|
--
|
||||||
:: +scry: dereference namespace
|
:: +scry: dereference namespace
|
||||||
::
|
::
|
||||||
@ -3890,6 +3966,7 @@
|
|||||||
:: /ax/peers/[ship]/forward-lane (list lane)
|
:: /ax/peers/[ship]/forward-lane (list lane)
|
||||||
:: /ax/bones/[ship] [snd=(set bone) rcv=(set bone)]
|
:: /ax/bones/[ship] [snd=(set bone) rcv=(set bone)]
|
||||||
:: /ax/snd-bones/[ship]/[bone] vase
|
:: /ax/snd-bones/[ship]/[bone] vase
|
||||||
|
:: /ax/snubbed (?(%allow %deny) (list ship))
|
||||||
::
|
::
|
||||||
?. ?=(%x ren) ~
|
?. ?=(%x ren) ~
|
||||||
?+ tyl ~
|
?+ tyl ~
|
||||||
@ -3969,5 +4046,8 @@
|
|||||||
=/ res
|
=/ res
|
||||||
u.mps
|
u.mps
|
||||||
``noun+!>(!>(res))
|
``noun+!>(!>(res))
|
||||||
|
::
|
||||||
|
[%snubbed ~]
|
||||||
|
``noun+!>([form.snub.ames-state ~(tap in ships.snub.ames-state)])
|
||||||
==
|
==
|
||||||
--
|
--
|
||||||
|
@ -4970,9 +4970,22 @@
|
|||||||
::
|
::
|
||||||
%wick
|
%wick
|
||||||
=^ mos ruf
|
=^ mos ruf
|
||||||
=/ den ((de now rof hen ruf) our %base)
|
abet:wick:((de now rof hen ruf) our %base) :: [wick]
|
||||||
abet:wick:den :: [wick]
|
|
||||||
[mos ..^$]
|
[mos ..^$]
|
||||||
|
::
|
||||||
|
%zeal
|
||||||
|
=^ m1 ruf
|
||||||
|
=| mos=(list move)
|
||||||
|
|- ^+ [mos ruf]
|
||||||
|
?~ lit.req
|
||||||
|
[mos ruf]
|
||||||
|
=/ den ((de now rof hen ruf) our desk.i.lit.req)
|
||||||
|
=^ mos-new ruf abet:(set-zest:den zest.i.lit.req)
|
||||||
|
$(mos (weld mos mos-new), lit.req t.lit.req)
|
||||||
|
=^ m2 ruf
|
||||||
|
abet:wick:((de now rof hen ruf) our %base)
|
||||||
|
=^ m3 ruf abet:goad:(lu now rof hen ruf)
|
||||||
|
[:(weld m1 m2 m3) ..^$]
|
||||||
::
|
::
|
||||||
%zest
|
%zest
|
||||||
=^ m1 ruf
|
=^ m1 ruf
|
||||||
|
@ -67,12 +67,8 @@
|
|||||||
:: more structures
|
:: more structures
|
||||||
::
|
::
|
||||||
|%
|
|%
|
||||||
++ axle
|
+$ axle
|
||||||
$: :: date: date at which http-server's state was updated to this data structure
|
$: %~2023.2.17
|
||||||
::
|
|
||||||
date=%~2022.7.26
|
|
||||||
:: server-state: state of inbound requests
|
|
||||||
::
|
|
||||||
=server-state
|
=server-state
|
||||||
==
|
==
|
||||||
:: +server-state: state relating to open inbound HTTP connections
|
:: +server-state: state relating to open inbound HTTP connections
|
||||||
@ -112,6 +108,9 @@
|
|||||||
:: outgoing-duct: to unix
|
:: outgoing-duct: to unix
|
||||||
::
|
::
|
||||||
outgoing-duct=duct
|
outgoing-duct=duct
|
||||||
|
:: verb: verbosity
|
||||||
|
::
|
||||||
|
verb=@
|
||||||
==
|
==
|
||||||
:: channel-request: an action requested on a channel
|
:: channel-request: an action requested on a channel
|
||||||
::
|
::
|
||||||
@ -584,7 +583,8 @@
|
|||||||
[act [& secure address request] ~ 0]
|
[act [& secure address request] ~ 0]
|
||||||
::
|
::
|
||||||
=. connections.state
|
=. connections.state
|
||||||
(~(put by connections.state) duct connection)
|
%. (~(put by connections.state) duct connection)
|
||||||
|
(trace 2 |.("{<duct>} creating local"))
|
||||||
::
|
::
|
||||||
:_ state
|
:_ state
|
||||||
(subscribe-to-app app.act inbound-request.connection)
|
(subscribe-to-app app.act inbound-request.connection)
|
||||||
@ -613,6 +613,7 @@
|
|||||||
=/ connection=outstanding-connection
|
=/ connection=outstanding-connection
|
||||||
[action [authenticated secure address request] ~ 0]
|
[action [authenticated secure address request] ~ 0]
|
||||||
=. connections.state
|
=. connections.state
|
||||||
|
:: XX pretty sure this is superfluous - done in +handle-response
|
||||||
(~(put by connections.state) duct connection)
|
(~(put by connections.state) duct connection)
|
||||||
:: redirect to https if insecure, redirects enabled
|
:: redirect to https if insecure, redirects enabled
|
||||||
:: and secure port live
|
:: and secure port live
|
||||||
@ -864,6 +865,7 @@
|
|||||||
%app
|
%app
|
||||||
:_ state
|
:_ state
|
||||||
:_ ~
|
:_ ~
|
||||||
|
%- (trace 1 |.("leaving subscription to {<app.action.u.connection>}"))
|
||||||
:* duct %pass /watch-response/[eyre-id]
|
:* duct %pass /watch-response/[eyre-id]
|
||||||
%g %deal [our our] app.action.u.connection
|
%g %deal [our our] app.action.u.connection
|
||||||
%leave ~
|
%leave ~
|
||||||
@ -1034,6 +1036,7 @@
|
|||||||
=^ moz state
|
=^ moz state
|
||||||
(handle-response response)
|
(handle-response response)
|
||||||
[[give-session-tokens (weld moves moz)] state]
|
[[give-session-tokens (weld moves moz)] state]
|
||||||
|
%- (trace 1 |.("{(trip i.channels)} discarding channel due to logout"))
|
||||||
=^ moz state
|
=^ moz state
|
||||||
(discard-channel:by-channel i.channels |)
|
(discard-channel:by-channel i.channels |)
|
||||||
$(moves (weld moves moz), channels t.channels)
|
$(moves (weld moves moz), channels t.channels)
|
||||||
@ -1145,8 +1148,7 @@
|
|||||||
:: POST methods are used solely for deleting channels
|
:: POST methods are used solely for deleting channels
|
||||||
(on-put-request channel-id request)
|
(on-put-request channel-id request)
|
||||||
::
|
::
|
||||||
~& %session-not-a-put
|
((trace 0 |.("session not a put")) `state)
|
||||||
[~ state]
|
|
||||||
:: +on-cancel-request: cancels an ongoing subscription
|
:: +on-cancel-request: cancels an ongoing subscription
|
||||||
::
|
::
|
||||||
:: One of our long lived sessions just got closed. We put the associated
|
:: One of our long lived sessions just got closed. We put the associated
|
||||||
@ -1156,15 +1158,15 @@
|
|||||||
^- [(list move) server-state]
|
^- [(list move) server-state]
|
||||||
:: lookup the session id by duct
|
:: lookup the session id by duct
|
||||||
::
|
::
|
||||||
?~ maybe-channel-id=(~(get by duct-to-key.channel-state.state) duct)
|
%- (trace 1 |.("{<duct>} moving channel to waiting state"))
|
||||||
~> %slog.[0 leaf+"eyre: no channel to cancel {<duct>}"]
|
|
||||||
[~ state]
|
|
||||||
::
|
::
|
||||||
~> %slog.[0 leaf+"eyre: canceling {<duct>}"]
|
?~ maybe-channel-id=(~(get by duct-to-key.channel-state.state) duct)
|
||||||
|
((trace 0 |.("{<duct>} no channel to move")) `state)
|
||||||
::
|
::
|
||||||
=/ maybe-session
|
=/ maybe-session
|
||||||
(~(get by session.channel-state.state) u.maybe-channel-id)
|
(~(get by session.channel-state.state) u.maybe-channel-id)
|
||||||
?~ maybe-session [~ state]
|
?~ maybe-session
|
||||||
|
((trace 1 |.("{<maybe-session>} session doesn't exist")) `state)
|
||||||
::
|
::
|
||||||
=/ heartbeat-cancel=(list move)
|
=/ heartbeat-cancel=(list move)
|
||||||
?~ heartbeat.u.maybe-session ~
|
?~ heartbeat.u.maybe-session ~
|
||||||
@ -1461,6 +1463,7 @@
|
|||||||
^- move
|
^- move
|
||||||
:^ duct %pass
|
:^ duct %pass
|
||||||
(subscription-wire channel-id request-id ship app)
|
(subscription-wire channel-id request-id ship app)
|
||||||
|
%- (trace 1 |.("subscribing to {<app>} on {<path>}"))
|
||||||
:* %g %deal [our ship] app
|
:* %g %deal [our ship] app
|
||||||
`task:agent:gall`[%watch path]
|
`task:agent:gall`[%watch path]
|
||||||
==
|
==
|
||||||
@ -1487,8 +1490,9 @@
|
|||||||
:: the client sent us a weird request referring to a subscription
|
:: the client sent us a weird request referring to a subscription
|
||||||
:: which isn't active.
|
:: which isn't active.
|
||||||
::
|
::
|
||||||
~& [%missing-subscription-in-unsubscribe channel-id subscription-id]
|
%. $(requests t.requests)
|
||||||
$(requests t.requests)
|
=* msg=tape "{(trip channel-id)} {<subscription-id>}"
|
||||||
|
(trace 0 |.("missing subscription in unsubscribe {msg}"))
|
||||||
::
|
::
|
||||||
=. gall-moves
|
=. gall-moves
|
||||||
:_ gall-moves
|
:_ gall-moves
|
||||||
@ -1496,6 +1500,7 @@
|
|||||||
=, u.maybe-subscription
|
=, u.maybe-subscription
|
||||||
:^ duc %pass
|
:^ duc %pass
|
||||||
(subscription-wire channel-id subscription-id.i.requests ship app)
|
(subscription-wire channel-id subscription-id.i.requests ship app)
|
||||||
|
%- (trace 1 |.("leaving subscription to {<app>}"))
|
||||||
:* %g %deal [our ship] app
|
:* %g %deal [our ship] app
|
||||||
`task:agent:gall`[%leave ~]
|
`task:agent:gall`[%leave ~]
|
||||||
==
|
==
|
||||||
@ -1511,6 +1516,7 @@
|
|||||||
$(requests t.requests)
|
$(requests t.requests)
|
||||||
::
|
::
|
||||||
%delete
|
%delete
|
||||||
|
%- (trace 1 |.("{<channel-id>} discarding due to %delete PUT"))
|
||||||
=^ moves state
|
=^ moves state
|
||||||
(discard-channel channel-id |)
|
(discard-channel channel-id |)
|
||||||
=. gall-moves
|
=. gall-moves
|
||||||
@ -1537,10 +1543,8 @@
|
|||||||
(emit-event channel-id request-id sign)
|
(emit-event channel-id request-id sign)
|
||||||
=/ =ship (slav %p i.extra)
|
=/ =ship (slav %p i.extra)
|
||||||
=* app=term i.t.extra
|
=* app=term i.t.extra
|
||||||
=/ =tape
|
=* msg=tape "{(trip channel-id)} {(trip app)}"
|
||||||
%+ weld "eyre: removing watch for "
|
%- (trace 0 |.("removing watch for non-existent channel {msg}"))
|
||||||
"non-existent channel {(trip channel-id)} on {(trip app)}"
|
|
||||||
%- (slog leaf+tape ~)
|
|
||||||
:_ state
|
:_ state
|
||||||
:_ ~
|
:_ ~
|
||||||
^- move
|
^- move
|
||||||
@ -1628,11 +1632,15 @@
|
|||||||
?& (gte num clog-threshold)
|
?& (gte num clog-threshold)
|
||||||
(lth (add last-ack.u.channel clog-timeout) now)
|
(lth (add last-ack.u.channel clog-timeout) now)
|
||||||
==
|
==
|
||||||
~? clogged [%e %clogged channel-id request-id]
|
|
||||||
:: if we're clogged, or we ran into an event we can't serialize,
|
:: if we're clogged, or we ran into an event we can't serialize,
|
||||||
:: kill this gall subscription.
|
:: kill this gall subscription.
|
||||||
::
|
::
|
||||||
=* kicking |(clogged ?=(~ json))
|
=* msg=tape "on {(trip channel-id)} for {(trip request-id)}"
|
||||||
|
=/ kicking=?
|
||||||
|
?: clogged
|
||||||
|
((trace 0 |.("clogged {msg}")) &)
|
||||||
|
?. ?=(~ json) |
|
||||||
|
((trace 0 |.("can't serialize event, kicking {msg}")) &)
|
||||||
=? moves kicking
|
=? moves kicking
|
||||||
:_ moves
|
:_ moves
|
||||||
::NOTE this shouldn't crash because we
|
::NOTE this shouldn't crash because we
|
||||||
@ -1640,6 +1648,7 @@
|
|||||||
:: - only clog on %facts, which have a subscription associated,
|
:: - only clog on %facts, which have a subscription associated,
|
||||||
:: - and already checked whether we still have that subscription.
|
:: - and already checked whether we still have that subscription.
|
||||||
=+ (~(got by subscriptions.u.channel) request-id)
|
=+ (~(got by subscriptions.u.channel) request-id)
|
||||||
|
%- (trace 1 |.("leaving subscription to {<app>}"))
|
||||||
:^ duct %pass
|
:^ duct %pass
|
||||||
(subscription-wire channel-id request-id ship app)
|
(subscription-wire channel-id request-id ship app)
|
||||||
[%g %deal [our ship] app %leave ~]
|
[%g %deal [our ship] app %leave ~]
|
||||||
@ -1689,11 +1698,11 @@
|
|||||||
^- (unit desk)
|
^- (unit desk)
|
||||||
=/ sub (~(get by subscriptions.channel) request-id)
|
=/ sub (~(get by subscriptions.channel) request-id)
|
||||||
?~ sub
|
?~ sub
|
||||||
((slog leaf+"eyre: no subscription for request-id {<request-id>}" ~) ~)
|
((trace 0 |.("no subscription for request-id {(trip request-id)}")) ~)
|
||||||
=/ des=(unit (unit cage))
|
=/ des=(unit (unit cage))
|
||||||
(rof ~ %gd [our app.u.sub da+now] ~)
|
(rof ~ %gd [our app.u.sub da+now] ~)
|
||||||
?. ?=([~ ~ *] des)
|
?. ?=([~ ~ *] des)
|
||||||
((slog leaf+"eyre: no desk for app {(trip app.u.sub)}" ~) ~)
|
((trace 0 |.("no desk for app {<app.u.sub>}")) ~)
|
||||||
`!<(=desk q.u.u.des)
|
`!<(=desk q.u.u.des)
|
||||||
:: +channel-event-to-sign: attempt to recover a sign from a channel-event
|
:: +channel-event-to-sign: attempt to recover a sign from a channel-event
|
||||||
::
|
::
|
||||||
@ -1710,11 +1719,11 @@
|
|||||||
=/ val=(unit (unit cage))
|
=/ val=(unit (unit cage))
|
||||||
(rof ~ %cb [our u.des da+now] /[have])
|
(rof ~ %cb [our u.des da+now] /[have])
|
||||||
?. ?=([~ ~ *] val)
|
?. ?=([~ ~ *] val)
|
||||||
((slog leaf+"eyre: no mark {(trip have)}" ~) ~)
|
((trace 0 |.("no mark {(trip have)}")) ~)
|
||||||
=+ !<(=dais:clay q.u.u.val)
|
=+ !<(=dais:clay q.u.u.val)
|
||||||
=/ res (mule |.((vale:dais noun.event)))
|
=/ res (mule |.((vale:dais noun.event)))
|
||||||
?: ?=(%| -.res)
|
?: ?=(%| -.res)
|
||||||
((slog leaf+"eyre: stale fact of mark {(trip have)}" ~) ~)
|
((trace 0 |.("stale fact of mark {(trip have)}")) ~)
|
||||||
`[%fact have p.res]
|
`[%fact have p.res]
|
||||||
:: +sign-to-json: render sign from request-id as json channel event
|
:: +sign-to-json: render sign from request-id as json channel event
|
||||||
::
|
::
|
||||||
@ -1733,15 +1742,14 @@
|
|||||||
?~ des [~ ~]
|
?~ des [~ ~]
|
||||||
::
|
::
|
||||||
=* have=mark p.cage.sign
|
=* have=mark p.cage.sign
|
||||||
=* desc=tape "from {(trip have)} to json"
|
|
||||||
=/ convert=(unit vase)
|
=/ convert=(unit vase)
|
||||||
=/ cag=(unit (unit cage))
|
=/ cag=(unit (unit cage))
|
||||||
(rof ~ %cf [our u.des da+now] /[have]/json)
|
(rof ~ %cf [our u.des da+now] /[have]/json)
|
||||||
?. ?=([~ ~ *] cag) ~
|
?. ?=([~ ~ *] cag) ~
|
||||||
`q.u.u.cag
|
`q.u.u.cag
|
||||||
?~ convert
|
?~ convert
|
||||||
((slog leaf+"eyre: no convert {desc}" ~) [~ ~])
|
((trace 0 |.("no convert from {(trip have)} to json")) [~ ~])
|
||||||
~| "conversion failed {desc}"
|
~| "conversion failed from {(trip have)} to json"
|
||||||
[`[u.des have] `[%fact %json (slym u.convert q.q.cage.sign)]]
|
[`[u.des have] `[%fact %json (slym u.convert q.q.cage.sign)]]
|
||||||
?~ jsyn ~
|
?~ jsyn ~
|
||||||
%- some
|
%- some
|
||||||
@ -1855,6 +1863,7 @@
|
|||||||
%+ turn ~(tap by subscriptions.session)
|
%+ turn ~(tap by subscriptions.session)
|
||||||
|= [request-id=@ud ship=@p app=term =path duc=^duct]
|
|= [request-id=@ud ship=@p app=term =path duc=^duct]
|
||||||
^- move
|
^- move
|
||||||
|
%- (trace 1 |.("{<channel-id>} leaving subscription to {<app>}"))
|
||||||
:^ duc %pass
|
:^ duc %pass
|
||||||
(subscription-wire channel-id request-id ship app)
|
(subscription-wire channel-id request-id ship app)
|
||||||
[%g %deal [our ship] app %leave ~]
|
[%g %deal [our ship] app %leave ~]
|
||||||
@ -1870,6 +1879,7 @@
|
|||||||
?. ?=(%app -.action.connection)
|
?. ?=(%app -.action.connection)
|
||||||
~
|
~
|
||||||
:_ ~
|
:_ ~
|
||||||
|
%- (trace 1 |.("leaving subscription to {<app.action.connection>}"))
|
||||||
:* duct %pass /watch-response/[eyre-id]
|
:* duct %pass /watch-response/[eyre-id]
|
||||||
%g %deal [our our] app.action.connection
|
%g %deal [our our] app.action.connection
|
||||||
%leave ~
|
%leave ~
|
||||||
@ -1897,8 +1907,7 @@
|
|||||||
:: verify that this is a valid response on the duct
|
:: verify that this is a valid response on the duct
|
||||||
::
|
::
|
||||||
?~ connection-state=(~(get by connections.state) duct)
|
?~ connection-state=(~(get by connections.state) duct)
|
||||||
~& [%invalid-outstanding-connection duct]
|
((trace 0 |.("{<duct>} invalid outstanding connection")) `state)
|
||||||
[~ state]
|
|
||||||
::
|
::
|
||||||
|^ ^- [(list move) server-state]
|
|^ ^- [(list move) server-state]
|
||||||
::
|
::
|
||||||
@ -1906,8 +1915,7 @@
|
|||||||
::
|
::
|
||||||
%start
|
%start
|
||||||
?^ response-header.u.connection-state
|
?^ response-header.u.connection-state
|
||||||
~& [%http-multiple-start duct]
|
((trace 0 |.("{<duct>} error multiple start")) error-connection)
|
||||||
error-connection
|
|
||||||
:: if request was authenticated, extend the session & cookie's life
|
:: if request was authenticated, extend the session & cookie's life
|
||||||
::
|
::
|
||||||
=^ response-header sessions.authentication-state.state
|
=^ response-header sessions.authentication-state.state
|
||||||
@ -1921,8 +1929,7 @@
|
|||||||
?~ session-id=(session-id-from-request request.inbound)
|
?~ session-id=(session-id-from-request request.inbound)
|
||||||
:: cookies are the only auth method, so this is unexpected
|
:: cookies are the only auth method, so this is unexpected
|
||||||
::
|
::
|
||||||
~& [%e %authenticated-without-cookie]
|
((trace 0 |.("error authenticated without cookie")) no-op)
|
||||||
no-op
|
|
||||||
?. (~(has by sessions) u.session-id)
|
?. (~(has by sessions) u.session-id)
|
||||||
:: if the session has expired since the request was opened,
|
:: if the session has expired since the request was opened,
|
||||||
:: tough luck, we don't create/revive sessions here
|
:: tough luck, we don't create/revive sessions here
|
||||||
@ -1954,6 +1961,7 @@
|
|||||||
::
|
::
|
||||||
=. response-header.http-event response-header
|
=. response-header.http-event response-header
|
||||||
=. connections.state
|
=. connections.state
|
||||||
|
%- (trace 2 |.("{<duct>} start"))
|
||||||
%+ ~(put by connections.state) duct
|
%+ ~(put by connections.state) duct
|
||||||
%_ connection
|
%_ connection
|
||||||
response-header `response-header
|
response-header `response-header
|
||||||
@ -1967,10 +1975,11 @@
|
|||||||
::
|
::
|
||||||
%continue
|
%continue
|
||||||
?~ response-header.u.connection-state
|
?~ response-header.u.connection-state
|
||||||
~& [%http-continue-without-start duct]
|
%. error-connection
|
||||||
error-connection
|
(trace 0 |.("{<duct>} error continue without start"))
|
||||||
::
|
::
|
||||||
=. connections.state
|
=. connections.state
|
||||||
|
%- (trace 2 |.("{<duct>} continuing "))
|
||||||
%+ ~(jab by connections.state) duct
|
%+ ~(jab by connections.state) duct
|
||||||
|= connection=outstanding-connection
|
|= connection=outstanding-connection
|
||||||
=+ size=?~(data.http-event 0 p.u.data.http-event)
|
=+ size=?~(data.http-event 0 p.u.data.http-event)
|
||||||
@ -1984,7 +1993,7 @@
|
|||||||
%cancel
|
%cancel
|
||||||
:: todo: log this differently from an ise.
|
:: todo: log this differently from an ise.
|
||||||
::
|
::
|
||||||
error-connection
|
((trace 1 |.("cancel http event")) error-connection)
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ pass-response
|
++ pass-response
|
||||||
@ -1997,7 +2006,8 @@
|
|||||||
:: remove all outstanding state for this connection
|
:: remove all outstanding state for this connection
|
||||||
::
|
::
|
||||||
=. connections.state
|
=. connections.state
|
||||||
(~(del by connections.state) duct)
|
%. (~(del by connections.state) duct)
|
||||||
|
(trace 2 |.("{<duct>} completed"))
|
||||||
state
|
state
|
||||||
::
|
::
|
||||||
++ error-connection
|
++ error-connection
|
||||||
@ -2015,6 +2025,8 @@
|
|||||||
?. ?=(%app -.action.u.connection-state)
|
?. ?=(%app -.action.u.connection-state)
|
||||||
~
|
~
|
||||||
:_ ~
|
:_ ~
|
||||||
|
%- %+ trace 1
|
||||||
|
|.("leaving subscription to {<app.action.u.connection-state>}")
|
||||||
:* duct %pass /watch-response/[eyre-id]
|
:* duct %pass /watch-response/[eyre-id]
|
||||||
%g %deal [our our] app.action.u.connection-state
|
%g %deal [our our] app.action.u.connection-state
|
||||||
%leave ~
|
%leave ~
|
||||||
@ -2124,6 +2136,11 @@
|
|||||||
:- outgoing-duct.state
|
:- outgoing-duct.state
|
||||||
=* ses sessions.authentication-state.state
|
=* ses sessions.authentication-state.state
|
||||||
[%give %sessions (~(run in ~(key by ses)) (cury scot %uv))]
|
[%give %sessions (~(run in ~(key by ses)) (cury scot %uv))]
|
||||||
|
::
|
||||||
|
++ trace
|
||||||
|
|= [pri=@ print=(trap tape)]
|
||||||
|
?: (lth verb.state pri) same
|
||||||
|
(slog leaf+"eyre: {(print)}" ~)
|
||||||
--
|
--
|
||||||
::
|
::
|
||||||
++ forwarded-params
|
++ forwarded-params
|
||||||
@ -2426,6 +2443,10 @@
|
|||||||
(~(del in approved) origin.task)
|
(~(del in approved) origin.task)
|
||||||
(~(put in rejected) origin.task)
|
(~(put in rejected) origin.task)
|
||||||
[~ http-server-gate]
|
[~ http-server-gate]
|
||||||
|
::
|
||||||
|
%spew
|
||||||
|
=. verb.server-state.ax veb.task
|
||||||
|
`http-server-gate
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ take
|
++ take
|
||||||
@ -2537,10 +2558,11 @@
|
|||||||
?> ?=([%behn %wake *] sign)
|
?> ?=([%behn %wake *] sign)
|
||||||
?^ error.sign
|
?^ error.sign
|
||||||
[[duct %slip %d %flog %crud %wake u.error.sign]~ http-server-gate]
|
[[duct %slip %d %flog %crud %wake u.error.sign]~ http-server-gate]
|
||||||
=/ discard-channel
|
=* id i.t.t.wire
|
||||||
discard-channel:by-channel:(per-server-event event-args)
|
%- %+ trace:(per-server-event event-args) 1
|
||||||
|
|.("{(trip id)} cancelling channel due to timeout")
|
||||||
=^ moves server-state.ax
|
=^ moves server-state.ax
|
||||||
(discard-channel i.t.t.wire &)
|
(discard-channel:by-channel:(per-server-event event-args) id &)
|
||||||
[moves http-server-gate]
|
[moves http-server-gate]
|
||||||
::
|
::
|
||||||
%heartbeat
|
%heartbeat
|
||||||
@ -2613,27 +2635,61 @@
|
|||||||
::
|
::
|
||||||
++ load
|
++ load
|
||||||
=> |%
|
=> |%
|
||||||
++ axle-old
|
+$ axle-any
|
||||||
%+ cork
|
$% [%~2020.10.18 =server-state-0]
|
||||||
axle
|
[%~2022.7.26 =server-state-0]
|
||||||
|= =axle
|
[%~2023.2.17 =server-state]
|
||||||
axle(date %~2020.10.18)
|
==
|
||||||
|
+$ server-state-0
|
||||||
|
$: bindings=(list [=binding =duct =action])
|
||||||
|
=cors-registry
|
||||||
|
connections=(map duct outstanding-connection)
|
||||||
|
=authentication-state
|
||||||
|
=channel-state
|
||||||
|
domains=(set turf)
|
||||||
|
=http-config
|
||||||
|
ports=[insecure=@ud secure=(unit @ud)]
|
||||||
|
outgoing-duct=duct
|
||||||
|
==
|
||||||
--
|
--
|
||||||
|= old=$%(axle axle-old)
|
|= old=axle-any
|
||||||
^+ ..^$
|
^+ ..^$
|
||||||
::
|
|
||||||
?- -.old
|
?- -.old
|
||||||
%~2020.10.18
|
%~2020.10.18
|
||||||
%= $
|
=, server-state-0.old
|
||||||
date.old %~2022.7.26
|
%= ..^$
|
||||||
::
|
ax ^- axle
|
||||||
bindings.server-state.old
|
:* %~2023.2.17
|
||||||
%+ insert-binding
|
(insert-binding [[~ /~/name] outgoing-duct [%name ~]] bindings)
|
||||||
[[~ /~/name] outgoing-duct.server-state.old [%name ~]]
|
cors-registry
|
||||||
bindings.server-state.old
|
connections
|
||||||
==
|
authentication-state
|
||||||
|
channel-state
|
||||||
|
domains
|
||||||
|
http-config
|
||||||
|
ports
|
||||||
|
outgoing-duct
|
||||||
|
0
|
||||||
|
== ==
|
||||||
::
|
::
|
||||||
%~2022.7.26
|
%~2022.7.26
|
||||||
|
=, server-state-0.old
|
||||||
|
%= ..^$
|
||||||
|
ax ^- axle
|
||||||
|
:* %~2023.2.17
|
||||||
|
bindings
|
||||||
|
cors-registry
|
||||||
|
connections
|
||||||
|
authentication-state
|
||||||
|
channel-state
|
||||||
|
domains
|
||||||
|
http-config
|
||||||
|
ports
|
||||||
|
outgoing-duct
|
||||||
|
0
|
||||||
|
== ==
|
||||||
|
::
|
||||||
|
%~2023.2.17
|
||||||
:: enable https redirects if certificate configured
|
:: enable https redirects if certificate configured
|
||||||
::
|
::
|
||||||
=. redirect.http-config.server-state.old
|
=. redirect.http-config.server-state.old
|
||||||
|
@ -32,25 +32,23 @@
|
|||||||
[/sys/hoon hoon/hoon]
|
[/sys/hoon hoon/hoon]
|
||||||
[/sys/arvo hoon/arvo]
|
[/sys/arvo hoon/arvo]
|
||||||
==
|
==
|
||||||
|
:: +dirs: filter for userspace directories to include
|
||||||
|
::
|
||||||
|
++ dirs
|
||||||
|
|= [bas=path exc=(list spur)]
|
||||||
|
^- (list spur)
|
||||||
|
?~ exc ~(tap in dir:.^(arch %cy bas))
|
||||||
|
%+ skim
|
||||||
|
~(tap in dir:.^(arch %cy bas))
|
||||||
|
|=(=spur =(~ (find ~[spur] exc)))
|
||||||
:: +file-ovum: userspace filesystem load
|
:: +file-ovum: userspace filesystem load
|
||||||
::
|
::
|
||||||
:: bas: full path to / directory
|
:: bas: full path to / directory
|
||||||
::
|
::
|
||||||
++ file-ovum
|
++ file-ovum
|
||||||
=/ directories=(list path)
|
|= [des=desk bas=path exc=(list spur)]
|
||||||
:~ /app :: %gall applications
|
|
||||||
/gen :: :dojo generators
|
|
||||||
/lib :: libraries
|
|
||||||
/mar :: mark definitions
|
|
||||||
/sur :: structures
|
|
||||||
/sys :: system files
|
|
||||||
/ted :: :spider strands
|
|
||||||
/web :: %eyre web content
|
|
||||||
/desk :: desk manifest
|
|
||||||
==
|
|
||||||
|= [des=desk bas=path]
|
|
||||||
^- unix-event
|
^- unix-event
|
||||||
%. directories
|
%. (dirs bas exc)
|
||||||
|= :: sal: all spurs to load from
|
|= :: sal: all spurs to load from
|
||||||
::
|
::
|
||||||
sal=(list spur)
|
sal=(list spur)
|
||||||
@ -99,7 +97,7 @@
|
|||||||
::
|
::
|
||||||
:: +file-ovum2: electric boogaloo
|
:: +file-ovum2: electric boogaloo
|
||||||
::
|
::
|
||||||
++ file-ovum2 |=(p=path `unix-event`[//arvo what/(user-files p)])
|
++ file-ovum2 |=(z=[path (list spur)] `unix-event`[//arvo what/(user-files z)])
|
||||||
::
|
::
|
||||||
++ prep-ovum
|
++ prep-ovum
|
||||||
|= dez=(list path)
|
|= dez=(list path)
|
||||||
@ -114,8 +112,8 @@
|
|||||||
:: +user-files: all userspace hoon files
|
:: +user-files: all userspace hoon files
|
||||||
::
|
::
|
||||||
++ user-files
|
++ user-files
|
||||||
|= bas=path
|
|= [bas=path exc=(list spur)]
|
||||||
%. directories:file-ovum
|
%. (dirs bas exc)
|
||||||
|= sal=(list spur)
|
|= sal=(list spur)
|
||||||
^- (list (pair path (cask)))
|
^- (list (pair path (cask)))
|
||||||
::
|
::
|
||||||
@ -154,8 +152,9 @@
|
|||||||
++ solid
|
++ solid
|
||||||
:: sys: root path to boot system, `/~me/[desk]/now/sys`
|
:: sys: root path to boot system, `/~me/[desk]/now/sys`
|
||||||
:: dez: secondary desks and their root paths
|
:: dez: secondary desks and their root paths
|
||||||
|
:: exc: list of desk folders to exclude
|
||||||
::
|
::
|
||||||
|= [sys=path dez=(list [desk path]) dub=? now=@da prime=?]
|
|= [sys=path dez=(list [desk path]) dub=? now=@da prime=? exc=(list spur)]
|
||||||
^- pill
|
^- pill
|
||||||
=/ bas=path (scag 3 sys)
|
=/ bas=path (scag 3 sys)
|
||||||
=/ compiler-path (weld sys /hoon)
|
=/ compiler-path (weld sys /hoon)
|
||||||
@ -201,7 +200,8 @@
|
|||||||
:- (boot-ovum:pill compiler-src arvo-src)
|
:- (boot-ovum:pill compiler-src arvo-src)
|
||||||
%+ turn
|
%+ turn
|
||||||
(snoc (turn dez tail) bas)
|
(snoc (turn dez tail) bas)
|
||||||
file-ovum2:pill
|
|= =path
|
||||||
|
(file-ovum2 [path exc])
|
||||||
.*(0 arvo-formula)
|
.*(0 arvo-formula)
|
||||||
|= [ovo=ovum ken=*]
|
|= [ovo=ovum ken=*]
|
||||||
[~ (slum ken [now ovo])]
|
[~ (slum ken [now ovo])]
|
||||||
@ -230,15 +230,18 @@
|
|||||||
:+ boot-ova ~
|
:+ boot-ova ~
|
||||||
=. dez (snoc dez [%base bas])
|
=. dez (snoc dez [%base bas])
|
||||||
%+ weld
|
%+ weld
|
||||||
(turn dez file-ovum)
|
%+ turn dez
|
||||||
|
|= [dek=desk bas=path]
|
||||||
|
(file-ovum [dek bas exc])
|
||||||
?. prime ~
|
?. prime ~
|
||||||
[(prep-ovum (turn dez tail))]~
|
[(prep-ovum (turn dez tail))]~
|
||||||
::
|
::
|
||||||
++ brass
|
++ brass
|
||||||
:: sys: root path to boot system, `/~me/[desk]/now/sys`
|
:: sys: root path to boot system, `/~me/[desk]/now/sys`
|
||||||
:: dez: secondary desks and their root paths
|
:: dez: secondary desks and their root paths
|
||||||
|
:: exc: list of desk folders to exclude
|
||||||
::
|
::
|
||||||
|= [sys=path dez=(list [desk path]) prime=?]
|
|= [sys=path dez=(list [desk path]) prime=? exc=(list spur)]
|
||||||
^- pill
|
^- pill
|
||||||
=/ bas=path (scag 3 sys)
|
=/ bas=path (scag 3 sys)
|
||||||
:: compiler-source: hoon source file producing compiler, `sys/hoon`
|
:: compiler-source: hoon source file producing compiler, `sys/hoon`
|
||||||
@ -274,12 +277,14 @@
|
|||||||
::
|
::
|
||||||
:+ %pill %brass
|
:+ %pill %brass
|
||||||
:+ boot-ova
|
:+ boot-ova
|
||||||
:~ (boot-ovum:pill compiler-source arvo-source)
|
:~ (boot-ovum compiler-source arvo-source)
|
||||||
(file-ovum2:pill bas)
|
(file-ovum2 [bas exc])
|
||||||
==
|
==
|
||||||
=. dez (snoc dez [%base bas])
|
=. dez (snoc dez [%base bas])
|
||||||
%+ weld
|
%+ weld
|
||||||
(turn dez file-ovum)
|
%+ turn dez
|
||||||
|
|= [dek=desk bas=path]
|
||||||
|
(file-ovum [dek bas exc])
|
||||||
?. prime ~
|
?. prime ~
|
||||||
[(prep-ovum (turn dez tail))]~
|
[(prep-ovum (turn dez tail))]~
|
||||||
::
|
::
|
||||||
@ -355,7 +360,7 @@
|
|||||||
::TODO will exclude non-:directories files, such as /changelog/txt
|
::TODO will exclude non-:directories files, such as /changelog/txt
|
||||||
=- (murn - same)
|
=- (murn - same)
|
||||||
^- (list (unit ovum))
|
^- (list (unit ovum))
|
||||||
:~ `(file-ovum as (en-beam beak /))
|
:~ `(file-ovum as (en-beam beak /) ~)
|
||||||
::
|
::
|
||||||
?. pri ~
|
?. pri ~
|
||||||
`(prep-ovum (en-beam beak /) ~)
|
`(prep-ovum (en-beam beak /) ~)
|
||||||
|
@ -201,7 +201,8 @@
|
|||||||
?^ dat=(get:wav wav.tide u.when.req)
|
?^ dat=(get:wav wav.tide u.when.req)
|
||||||
:_ pub :_ ~
|
:_ pub :_ ~
|
||||||
(send scry/wave/u.dat src.bowl [dude u.when path]:req)
|
(send scry/wave/u.dat src.bowl [dude u.when path]:req)
|
||||||
?. (gth u.when.req key::(fall (ram:wav wav.tide) [key=+(u.when.req) **]))
|
?: %+ lte u.when.req
|
||||||
|
key::(fall (ram:wav wav.tide) (pry:rok rok.tide) [=key val]:wav)
|
||||||
:_ pub :_ ~
|
:_ pub :_ ~
|
||||||
(send yore/~ src.bowl [dude u.when path]:req)
|
(send yore/~ src.bowl [dude u.when path]:req)
|
||||||
:- ~[(send nigh/~ src.bowl [dude u.when path]:req)]
|
:- ~[(send nigh/~ src.bowl [dude u.when path]:req)]
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
[%zuse 416]
|
[%zuse 416]
|
||||||
[%zuse 415]
|
[%zuse 415]
|
||||||
|
[%zuse 414]
|
Loading…
Reference in New Issue
Block a user