summaryrefslogtreecommitdiff
path: root/draft-schanzen-r5n.xml
diff options
context:
space:
mode:
Diffstat (limited to 'draft-schanzen-r5n.xml')
-rw-r--r--draft-schanzen-r5n.xml46
1 files changed, 36 insertions, 10 deletions
diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml
index bbfbf5e..b346566 100644
--- a/draft-schanzen-r5n.xml
+++ b/draft-schanzen-r5n.xml
@@ -284,6 +284,35 @@ PUT(key[, options], BLOCK)
284 <dd>Specified block type not supported by this implementation. FIXME: We may not need this for the spec.</dd> 284 <dd>Specified block type not supported by this implementation. FIXME: We may not need this for the spec.</dd>
285 </dl> 285 </dl>
286 </section> 286 </section>
287 <section anchor="block_functions">
288 <name>Block Functions</name>
289 <t>
290 Any block type implementation MUST implement the following functions.
291 </t>
292 <dl>
293 <dt>Evaluate-BlockRequest</dt>
294 <dd>
295 is used to evaluate the request for a block. It is used as part of
296 GET message processing, where the block payload is still unkown,
297 but the block XQUERY (FIXME: Undefined here) and key can and should
298 be verified, if possible.
299 </dd>
300 <dt>Evaluate-BlockReply</dt>
301 <dd>
302 is used to evaluate a block including its key and payload.
303 It is used as part of PUT and RESULT message processing.
304 An implementation MAY also use evaluate locally stored blocks
305 (FIXME again?) before passing it to other peers or the Overlay.
306 </dd>
307 <dt>Get-BlockKey</dt>
308 <dd>
309 is used to synthesize the block key from the block payload
310 and metadata. It is used as part of PUT message processing.
311 (FIXME: The implementation currently does PUT block key validation
312 and then Block Evaluate-BlockReply ONLY for RegEx...)
313 </dd>
314 </dl>
315 </section>
287 <section> 316 <section>
288 <name>Block Types</name> 317 <name>Block Types</name>
289 <t> 318 <t>
@@ -743,11 +772,6 @@ END
743 to PUTPATH. FIXME: Should should come way later (?) 772 to PUTPATH. FIXME: Should should come way later (?)
744 </li> 773 </li>
745 <li> 774 <li>
746 If the KEY of this PUT message is in the list of pending queries,
747 return the message through the API. FIXME: Is this a conversion to
748 a RESULT??
749 </li>
750 <li>
751 If the local peer is the closest peer (AM-CLOSEST-PEER) or the 775 If the local peer is the closest peer (AM-CLOSEST-PEER) or the
752 "Demultiplex Everywhere" options flag ist set, the message MUST 776 "Demultiplex Everywhere" options flag ist set, the message MUST
753 be stored locally in the block storage. 777 be stored locally in the block storage.
@@ -1010,11 +1034,13 @@ END
1010 GETPATH, the path MUST be truncated. 1034 GETPATH, the path MUST be truncated.
1011 </li> 1035 </li>
1012 <li> 1036 <li>
1013 FIXME: No validation?? 1037 If the KEY of this PUT message is found in the list of pending
1014 </li> 1038 queries, the the KEY and XQUERY is validated against the requested
1015 <li> 1039 BTYPE.
1016 If the KEY of this PUT message is in the list of pending queries, 1040 If the BTYPE is not supported, or if the block key
1017 return the message through the API. 1041 does not match the BTYPE or if the XQUERY is malformed,
1042 the message MUST be discarded. (FIXME: It is not clear the key
1043 validation is happening. However, block validation is.)
1018 </li> 1044 </li>
1019 <li> 1045 <li>
1020 The implementation MAY cache RESULT messages. 1046 The implementation MAY cache RESULT messages.