on master help sign in
update-request
395afccdrbeefsupreme
arvo/clay/data-types.md+28−7
@@ -126,13 +126,6 @@ notified when the request is filled/updated.
126
126
127#### `$rave:clay`, general subscription request
127#### `$rave:clay`, general subscription request
128
128
129−```hoon
130− ++ rave :: general request
131− $% [& p=mood] :: single request
132− [| p=moat] :: change range
133− == ::
134−```
135−
136```hoon
129```hoon
137 +$ rave :: general request
130 +$ rave :: general request
138 $% [%sing =mood] :: single request
131 $% [%sing =mood] :: single request
@@ -420,6 +413,34 @@ numbers to their associated `duct`.
420`haw` is a map from `%sing` requests to their values. This acts as a cache for
413`haw` is a map from `%sing` requests to their values. This acts as a cache for
421requests that have already been filled.
414requests that have already been filled.
422
415
416+#### `$update-state`, status of outstanding request
417+
418+```hoon
419++$ update-state
420+ $: =duct
421+ =rave
422+ have=(map lobe blob)
423+ need=(list lobe)
424+ nako=(qeu (unit nako))
425+ busy=_|
426+ ==
427+```
428+
429+An `update-state` is used to represent the status of an outstanding request to a
430+foreign `desk`.
431+
432+`duct` and `rave` are the `duct` along which the request was made and the
433+request itself.
434+
435+`have` is a map of hashes thus far acquired in the request to the data
436+associated with those hashes.
437+
438+`need` is a list of hashes yet to be acquired.
439+
440+`nako` is a queue of data yet to be validated.
441+
442+`busy` tracks whether or not the request is currently being fulfilled.
443+
423#### `++rang:clay`, data store
444#### `++rang:clay`, data store
424
445
425```hoon
446```hoon