Removed remote mirrors (federation) from guardian.

This commit is contained in:
Fang 2017-03-30 15:23:52 +02:00
parent f15a52a7f2
commit 7d8e0e8e33
2 changed files with 16 additions and 34 deletions

View File

@ -42,9 +42,7 @@
++ story :: wire content
$: count/@ud :: (lent grams)
grams/(list telegram) :: all history
locals/atlas :: local presence
remotes/(map partner atlas) :: remote presence
mirrors/(map station config) :: remote config
locals/atlas :: presence
sequence/(map partner @ud) :: partners heard
shape/config :: configuration
known/(map serial @ud) :: messages heard
@ -682,38 +680,27 @@
+>.$
::
++ pa-report-group :: update presence
::x build a group report, containing our different presence maps, and
::x send it to all bones.
::x we send remote presences to facilitate federation. aka "relay"
::x build a group report, containing our presence map, and send it to all
::x bones.
::
|= vew/(set bone)
%^ pa-report vew %group
:- locals
%- ~(urn by remotes) :: XX preformance
|= {pan/partner atl/atlas} ^- atlas
?. &(?=($& -.pan) =(our.hid p.p.pan)) atl
=+ soy=(~(get by stories) q.p.pan)
?~ soy atl
locals.u.soy
(pa-report vew %group locals)
::
++ pa-report-cabal :: update config
::x a cabal report, containing our and remote configs, to all bones.
::
|= vew/(set bone)
(pa-report vew %cabal shape mirrors)
(pa-report vew %cabal shape)
::
++ pa-cabal
::x add station's config to our remote config map.
::TODO if web frontend doesn't use ham, remove it (also from sur/talk)
::
|= {cuz/station con/config ham/(map station config)}
|= con/config
^+ +>
=+ old=mirrors
=. mirrors (~(put by mirrors) cuz con)
?: =(mirrors old)
?: =(shape con)
+>.$
=. +>.$ (pa-inform %tales (strap man `con))
(pa-report-cabal pa-followers)
(pa-report-cabal(shape con) pa-followers)
::
++ pa-diff-talk-report :: subscribed update
::x process a talk report from cuz.
@ -725,8 +712,8 @@
~& [%pa-diff-unexpected cuz rad]
+>
?- -.rad
$cabal (pa-cabal cuz +.rad)
$group (pa-remind [%& cuz] +.rad)
$cabal (pa-cabal +.rad)
$group (pa-remind +.rad)
$grams (pa-lesson q.+.rad)
==
::
@ -827,18 +814,13 @@
?: =(nol locals) +>.$
(pa-report-group(locals nol) pa-followers)
::
++ pa-remind :: remote presence
++ pa-remind :: update presence
::x adds tay's loc to our remote presence map, after merging with rem.
::x if this changes anything, send update report.
::
::TODO stop using timed.
|= {tay/partner loc/atlas rem/(map partner atlas)}
::x remove this story from the presence map, since it's in local already.
=. rem (~(del by rem) %& our.hid man) :: superceded by local data
=/ buk (~(uni timed remotes) rem) :: XX drop?
=. buk (~(put timed buk) tay now.hid loc)
?: =(~(strip timed buk) ~(strip timed remotes)) +>.$
(pa-report-group(remotes buk) pa-followers)
|= loc/atlas
?: =(loc locals) +>
(pa-report-group(locals loc) pa-followers)
::
++ pa-start :: start stream
::x grab all telegrams that fall within the river and send them in a

View File

@ -51,10 +51,10 @@
++ register (pair atlas (map partner atlas)) :: ping me, ping srcs
++ shelf (map knot (pair posture cord)) :: ship shape
++ report :: talk update
$% {$cabal cabal} :: config neighborhood
$% {$cabal config} :: config neighborhood
:: {$folder (list report)} :: multiple
{$grams (pair @ud (list telegram))} :: beginning thoughts
{$group register} :: presence
{$group atlas} :: presence
== ::
++ lowdown :: changed shared state
::TODO change these so that they're always just the diff.