link-store: support "all unseen" scry
Instead of forcing clients to scry at every path, they can now scry for
all paths at once.
::
:: scry-only paths:
::
+::
+:: (map path (set url))
+:: /unseen the ones we haven't seen yet
+::
:: (set url)
:: /unseen/some-path the ones we haven't seen here yet
::
::
[%x %seen @ ^]
``noun+!>((is-seen:do t.t.path))
+ ::
+ [%x %unseen ~]
+ ``noun+!>(get-all-unseen:do)
::
[%x %unseen ^]
``noun+!>((get-unseen:do t.t.path))
%+ ~(put by *(map ^path submissions)) path
submissions:(~(gut by by-group) path *links)
::
+++ get-all-unseen
+ ^- (jug path url)
+ %- ~(rut by by-group)
+ |= [=path *]
+ (get-unseen path)
+::
++ get-unseen
|= =path
^- (set url)
