lsd0004

LSD0004: R5N Distributed Hash Table
Log | Files | Refs

commit 60b5171a32a8f58ccca0e377e2689e794e595a55
parent cb8675d92091a1915090f4bfcd4d543113d69deb
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Tue, 30 Nov 2021 22:19:14 +0100

better alignment

Diffstat:
Mdraft-schanzen-r5n.xml | 113++++++++++++++++++++++++++++++++++---------------------------------------------
1 file changed, 49 insertions(+), 64 deletions(-)

diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml @@ -425,8 +425,9 @@ END <dl> <dt>Demultiplex everywhere (0)</dt> <dd> - Each peer along the way should look at 'enc'. Otherwise - only the k-peers closest to the key should look at it. + Each peer along the way should process the request. Otherwise + only peers that are locally closest to the key and no longer in the + random path mode should process it. </dd> <dt>Record route (1)</dt> <dd> @@ -438,14 +439,6 @@ END Indicates a 'FIND-PEER' request. Implies that approximate results are acceptable. </dd> - <dt>Random key (3)</dt> - <dd> - Option for query key randomization. (TODO) - </dd> - <dt>Last hop (4)</dt> - <dd> - Indicates if this was the last hop for a GET/PUT. - </dd> </dl> </section> <section anchor="p2p_xq" numbered="true" toc="default"> @@ -458,23 +451,19 @@ END <artwork name="" type="" align="left" alt=""><![CDATA[ 0 8 16 24 32 40 48 56 +-----+-----+-----+-----+-----+-----+-----+-----+ -| MSIZE | MTYPE | OPTIONS | +| MSIZE | MTYPE | BTYPE | +-----+-----+-----+-----+-----+-----+-----+-----+ -| BTYPE | HOPCOUNT | +| OPTIONS | HOPCOUNT | REPL_LVL | PATH_LEN | +-----+-----+-----+-----+-----+-----+-----+-----+ -| REPLICATIONLVL | PATH_LEN | +| EXPIRATION | +-----+-----+-----+-----+-----+-----+-----+-----+ -| EXPIRATION | BLOOMFILTER / -+-----+-----+-----+-----+ / -/ (128 byte) / -/ +-----+-----+-----+-----+ -/ | KEY / -+-----+-----+-----+-----+ / -/ (64 byte) / -/ +-----+-----+-----+-----+ -/ | PUTPATH / -+-----+-----+-----+-----+ / -/ (variable length) / +| BLOOMFILTER / +/ (128 byte) | ++-----+-----+-----+-----+-----+-----+-----+-----+ +| KEY / +/ (64 byte) | ++-----+-----+-----+-----+-----+-----+-----+-----+ +/ PUTPATH (variable length) / +-----+-----+-----+-----+-----+-----+-----+-----+ / PAYLOAD (variable length) / +-----+-----+-----+-----+-----+-----+-----+-----+ @@ -492,28 +481,28 @@ END types but for put messages it must be set to the value 146 in network byte order. </dd> - <dt>OPTIONS</dt> - <dd> - is a 32-bit options field (see below). - </dd> <dt>BTYPE</dt> <dd> is a 32-bit block type field. The block type indicates the content type of the payload. In network byte order. </dd> + <dt>OPTIONS</dt> + <dd> + is a 16-bit options field (see below). + </dd> <dt>HOPCOUNT</dt> <dd> - is a 32-bit number indicating how many hops this message has + is a 16-bit number indicating how many hops this message has traversed to far. In network byte order. </dd> - <dt>REPLICATIONLVL</dt> + <dt>REPL_LVL</dt> <dd> - is a 32-bit number indicating the desired replication level of + is a 16-bit number indicating the desired replication level of the data. In network byte order. </dd> <dt>PATH_LEN</dt> <dd> - is a 32-bit number indicating the length of the PUT path recorded + is a 16-bit number indicating the length of the PUT path recorded in PUTPATH. As PUTPATH is optiona, this value may be zero. In network byte order. </dd> @@ -552,21 +541,17 @@ END <artwork name="" type="" align="left" alt=""><![CDATA[ 0 8 16 24 32 40 48 56 +-----+-----+-----+-----+-----+-----+-----+-----+ -| MSIZE | MTYPE | OPTIONS | +| MSIZE | MTYPE | BTYPE | +-----+-----+-----+-----+-----+-----+-----+-----+ -| BTYPE | HOPCOUNT | +| OPTIONS | HOPCOUNT | REPL_LVL | XQ_SIZE | +-----+-----+-----+-----+-----+-----+-----+-----+ -| REPLICATIONLVL | XQUERY_SIZE | +| BLOOMFILTER / +/ (128 byte) | +-----+-----+-----+-----+-----+-----+-----+-----+ -| BF_MUTATOR | BLOOMFILTER / -+-----+-----+-----+-----+ / -/ (128 byte) / -/ +-----+-----+-----+-----+ -/ | KEY / -+-----+-----+-----+-----+ / -/ (64 byte) / -/ +-----+-----+-----+-----+ -/ | XQUERY / +| KEY / +/ (64 byte) | ++-----+-----+-----+-----+-----+-----+-----+-----+ +/ BF_MUTATOR | XQUERY / +-----+-----+-----+-----+ / / (variable length) / +-----+-----+-----+-----+-----+-----+-----+-----+ @@ -586,34 +571,30 @@ END types but for put messages it must be set to the value 147 in network byte order. </dd> - <dt>OPTIONS</dt> - <dd> - is a 32-bit options field (see below). - </dd> <dt>BTYPE</dt> <dd> is a 32-bit block type field. The block type indicates the content type of the payload. In network byte order. </dd> + <dt>OPTIONS</dt> + <dd> + is a 16-bit options field (see below). + </dd> <dt>HOPCOUNT</dt> <dd> - is a 32-bit number indicating how many hops this message has + is a 16-bit number indicating how many hops this message has traversed to far. In network byte order. </dd> - <dt>REPLICATIONLVL</dt> + <dt>REPL_LVL</dt> <dd> - is a 32-bit number indicating the desired replication level of + is a 16-bit number indicating the desired replication level of the data. In network byte order. </dd> - <dt>XQUERY_SIZE</dt> + <dt>XQ_SIZE</dt> <dd> is a 32-bit number indicating the length of the optional extended query XQUERY. In network byte order. </dd> - <dt>BF_MUTATOR</dt> - <dd> - The bloomfilter mutator. - </dd> <dt>BLOOMFILTER</dt> <dd> A bloomfilter (for peer identities) to stop circular routes. @@ -627,7 +608,11 @@ END <dd> the variable-length extended query. Optional. </dd> - <dt>BF_RESULT</dt> + <dt>BF_MUTATOR</dt> + <dd> + The 32-bit bloomfilter mutator for the result bloomfilter. + </dd> + <dt>RESULT_BF</dt> <dd> the variable-length result bloomfilter. </dd> @@ -639,11 +624,11 @@ END <artwork name="" type="" align="left" alt=""><![CDATA[ 0 8 16 24 32 40 48 56 +-----+-----+-----+-----+-----+-----+-----+-----+ -| MSIZE | MTYPE | OPTIONS | +| MSIZE | MTYPE | BTYPE | +-----+-----+-----+-----+-----+-----+-----+-----+ -| BTYPE | PUT_PATH_LEN | +| // | OPTIONS | PUTPATH_L | GETPATH_L | +-----+-----+-----+-----+-----+-----+-----+-----+ -| GET_PATH_LEN | EXPIRATION | +| EXPIRATION | +-----+-----+-----+-----+-----+-----+-----+-----+ | KEY / / (64 byte) | @@ -673,22 +658,22 @@ END </dd> <dt>OPTIONS</dt> <dd> - is a 32-bit options field (see below). + is a 16-bit options field (see below). </dd> <dt>BTYPE</dt> <dd> is a 32-bit block type field. The block type indicates the content type of the payload. In network byte order. </dd> - <dt>PUT_PATH_LEN</dt> + <dt>PUTPATH_L</dt> <dd> - is a 32-bit number indicating the length of the PUT path recorded + is a 16-bit number indicating the length of the PUT path recorded in PUTPATH. As PUTPATH is optiona, this value may be zero. In network byte order. </dd> <dt>GET_PATH_LEN</dt> <dd> - is a 32-bit number indicating the length of the GET path recorded + is a 16-bit number indicating the length of the GET path recorded in GETPATH. As PUTPATH is optiona, this value may be zero. In network byte order. </dd>