on master help sign in
rede
commit0e095e90d5d9feb573a500138e93fb46f9d1c6d5 authordrbeefsupreme <drbeefsupreme@discordja.net> dateThu 8 Apr 2021, 14:29 (6 years ago) parentb9cf7ad
1 file changed+24−11
arvo/clay/data-types.md+24−11
arvo/clay/data-types.md+24−11
@@ -346,11 +346,10 @@ currently being used by Ford handy.
346346 ==
347347```
348348
349−
350−This is the filesystem of a neighbor ship. The keys to this map are all
349+This is the filesystem of a neighbor ship. The keys to this `map` are all
351350the `desk`s we know about on their ship.
352351
353−#### `++rede`, desk state
352+#### `++rede`, generic desk state
354353
355354```hoon
356355 ++ rede :: universal project
@@ -359,22 +358,36 @@ the `desk`s we know about on their ship.
359358 ref=(unit rind) :: outgoing requests
360359 dom=dome :: revision state
361360 == ::
361++$ rede :: universal project
362+ $: lim=@da :: complete to
363+ ref=(unit rind) :: outgoing requests
364+ qyx=cult :: subscribers
365+ dom=dome :: revision state
366+ per=regs :: read perms per path
367+ pew=regs :: write perms per path
368+ == ::
362369```
363370
364371This is our knowledge of the state of a desk, either foreign or
365372domestic.
366373
367−`lim` is the date of the last full update. We only respond to requests
368−for stuff before this time.
374+`lim` is the most recent `@da` for which we're confident we have all the
375+information for. For local `desk`s, this is always `now`. For foriegn `desk`s,
376+this is the last time we got a full update from the foreign ship.
377+
378+`ref` is the request manager for the desk. For domestic `desk`s, this is
379+null since we handle requests ourselves. For foreign `desk`s, this keeps track
380+of all pending foriegn requests plus a cache of the responses to previous requests.
369381
370−`qyx` is the list of subscribers to this desk. For domestic desks, this
371−is simply `p:dojo`, all subscribers to the desk, while in foreign desks
372−this is all the subscribers from our ship to the foreign desk.
382+`qyx` is the `set` of subscriptions to this desk, with listening `duct`s. These
383+subscriptions exist only until they've been filled. For domestic `desk`s, this
384+is simply `qyx:dojo` - all subscribers to the `desk`. For foreign `desk`s this
385+is all the subscribers from our ship to the foreign `desk`.
373386
374−`ref` is the request manager for the desk. For domestic desks, this is
375−null since we handle requests ourselves.
387+`dom` is the data in the `desk`.
376388
377−`dom` is the actual data in the desk.
389+`regs` are `(map path rule)`, and so `per` is a `map` of read permissions by
390+`path` and `pew` is a `map` of write permissions by `path`.
378391
379392#### `++rind`, request manager
380393