on master help sign in
rede
0e095e9drbeefsupreme
arvo/clay/data-types.md+24−11
@@ -346,11 +346,10 @@ currently being used by Ford handy.
346 ==
346 ==
347```
347```
348
348
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
351the `desk`s we know about on their ship.
350the `desk`s we know about on their ship.
352
351
353−#### `++rede`, desk state
352+#### `++rede`, generic desk state
354
353
355```hoon
354```hoon
356 ++ rede :: universal project
355 ++ rede :: universal project
@@ -359,22 +358,36 @@ the `desk`s we know about on their ship.
359 ref=(unit rind) :: outgoing requests
358 ref=(unit rind) :: outgoing requests
360 dom=dome :: revision state
359 dom=dome :: revision state
361 == ::
360 == ::
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+ == ::
362```
369```
363
370
364This is our knowledge of the state of a desk, either foreign or
371This is our knowledge of the state of a desk, either foreign or
365domestic.
372domestic.
366
373
367−`lim` is the date of the last full update. We only respond to requests
374+`lim` is the most recent `@da` for which we're confident we have all the
368−for stuff before this time.
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.
369
381
370−`qyx` is the list of subscribers to this desk. For domestic desks, this
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
371−is simply `p:dojo`, all subscribers to the desk, while in foreign desks
384+is simply `qyx:dojo` - all subscribers to the `desk`. For foreign `desk`s this
372−this is all the subscribers from our ship to the foreign desk.
385+is all the subscribers from our ship to the foreign `desk`.
373
386
374−`ref` is the request manager for the desk. For domestic desks, this is
387+`dom` is the data in the `desk`.
375−null since we handle requests ourselves.
376
388
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`.
378
391
379#### `++rind`, request manager
392#### `++rind`, request manager
380
393