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.xml71
1 files changed, 46 insertions, 25 deletions
diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml
index 3924e41..489d2bb 100644
--- a/draft-schanzen-r5n.xml
+++ b/draft-schanzen-r5n.xml
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent" [ 2<!DOCTYPE rfc [
3<!ENTITY RFC2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"> 3<!ENTITY RFC2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
4<!ENTITY RFC2782 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2782.xml"> 4<!ENTITY RFC2782 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2782.xml">
5<!ENTITY RFC3629 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3629.xml"> 5<!ENTITY RFC3629 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3629.xml">
@@ -1507,19 +1507,18 @@ BEGIN
1507+-----+-----+-----+-----+-----+-----+-----+-----+ 1507+-----+-----+-----+-----+-----+-----+-----+-----+
1508| MSIZE | MTYPE | BTYPE | 1508| MSIZE | MTYPE | BTYPE |
1509+-----+-----+-----+-----+-----+-----+-----+-----+ 1509+-----+-----+-----+-----+-----+-----+-----+-----+
1510| FLAGS | HOPCOUNT | REPL_LVL | XQ_SIZE | 1510| FLAGS | HOPCOUNT | REPL_LVL | RF_SIZE |
1511+-----+-----+-----+-----+-----+-----+-----+-----+ 1511+-----+-----+-----+-----+-----+-----+-----+-----+
1512| PEER_BF / 1512| PEER_BF /
1513/ (128 byte) | 1513/ (128 byte) |
1514+-----+-----+-----+-----+-----+-----+-----+-----+ 1514+-----+-----+-----+-----+-----+-----+-----+-----+
1515| QUERY_HASH / 1515| QUERY_HASH /
1516/ (64 byte) | 1516/ (64 byte) |
1517+-----+-----+-----+-----+-----+-----+-----+-----+ 1517+-----+-----+-----+-----+-----+-----+-----+-----+
1518/ BF_MUTATOR | XQUERY / 1518| RESULT_FILTER /
1519+-----+-----+-----+-----+ /
1520/ (variable length) / 1519/ (variable length) /
1521+-----+-----+-----+-----+-----+-----+-----+-----+ 1520+-----+-----+-----+-----+-----+-----+-----+-----+
1522/ BF_RESULT (variable length) / 1521/ XQUERY (variable length) /
1523+-----+-----+-----+-----+-----+-----+-----+-----+ 1522+-----+-----+-----+-----+-----+-----+-----+-----+
1524]]></artwork> 1523]]></artwork>
1525 </figure> 1524 </figure>
@@ -1553,10 +1552,10 @@ BEGIN
1553 is a 16-bit number indicating the desired replication level of 1552 is a 16-bit number indicating the desired replication level of
1554 the data. In network byte order. 1553 the data. In network byte order.
1555 </dd> 1554 </dd>
1556 <dt>XQ_SIZE</dt> 1555 <dt>RF_SIZE</dt>
1557 <dd> 1556 <dd>
1558 is a 16-bit number indicating the length of the optional 1557 is a 16-bit number indicating the length of the
1559 extended query XQUERY. In network byte order. 1558 result filter RESULT_FILTER. In network byte order.
1560 </dd> 1559 </dd>
1561 <dt>PEER_BF</dt> 1560 <dt>PEER_BF</dt>
1562 <dd> 1561 <dd>
@@ -1569,6 +1568,10 @@ BEGIN
1569 The block type may use a different evaluation logic to determine 1568 The block type may use a different evaluation logic to determine
1570 applicable result blocks. 1569 applicable result blocks.
1571 </dd> 1570 </dd>
1571 <dt>RESULT_FILTER</dt>
1572 <dd>
1573 the variable-length result filter, described in <xref target="result_filter"/>.
1574 </dd>
1572 <dt>XQUERY</dt> 1575 <dt>XQUERY</dt>
1573 <dd> 1576 <dd>
1574 the variable-length extended query. Optional. 1577 the variable-length extended query. Optional.
@@ -1577,10 +1580,6 @@ BEGIN
1577 <dd> 1580 <dd>
1578 The 32-bit mutator for the result filter. 1581 The 32-bit mutator for the result filter.
1579 </dd> 1582 </dd>
1580 <dt>RESULT_FILTER</dt>
1581 <dd>
1582 the variable-length result filter, described in <xref target="result_filter"/>.
1583 </dd>
1584 </dl> 1583 </dl>
1585 </section> 1584 </section>
1586 <section anchor="result_filter"> 1585 <section anchor="result_filter">
@@ -2176,18 +2175,40 @@ gnunet+tcp://12.3.4.5/ \
2176 against the public key from the peer ID field. 2175 against the public key from the peer ID field.
2177 </t> 2176 </t>
2178 <t> 2177 <t>
2179 The result filter for HELLO blocks is implemented using a 2178 The RESULT_FILTER for HELLO blocks is implemented using a
2180 Bloom filter. The <tt>K</tt>-value for the Bloom filter 2179 Bloom filter.
2181 is always 16. The size <tt>S</tt> of the Bloom filter in bytes depends on 2180 </t>
2182 the number of elements <tt>F</tt> known to be filtered at the 2181 <figure anchor="hello_rf" title="The HELLO Block Result Filter.">
2183 initiator. If <tt>F</tt> is zero, the size <tt>S</tt> is just 8 (bytes). 2182 <artwork name="" type="" align="left" alt=""><![CDATA[
2184 Otherwise, <tt>S</tt> is set to the minimum of 21830 8 16 24 32 40 48 56
2185 2<sup>15</sup> and the lowest power 2184+-----+-----+-----+-----+-----+-----+-----+-----+
2186 of 2 that is strictly larger than <tt>K*F/4</tt> 2185| MUTATOR | HELLO_BF /
2187 (in bytes). The wire format of a HELLO block Bloom filter 2186+-----+-----+-----+-----+ (variable length) /
2188 is just the resulting byte array. In particular, <tt>K</tt> 2187/ /
2189 is not transmitted. 2188+-----+-----+-----+-----+-----+-----+-----+-----+
2190 </t> 2189]]></artwork>
2190 </figure>
2191
2192 <t>where:</t>
2193 <dl>
2194 <dt>MUTATOR</dt>
2195 <dd>
2196 The 32-bit mutator for the result filter.
2197 </dd>
2198 <dt>HELLO_BF</dt>
2199 <dd>
2200 The <tt>K</tt>-value for the HELLO_BF Bloom filter
2201 is always 16. The size <tt>S</tt> of the Bloom filter in bytes depends on
2202 the number of elements <tt>F</tt> known to be filtered at the
2203 initiator. If <tt>F</tt> is zero, the size <tt>S</tt> is just 8 (bytes).
2204 Otherwise, <tt>S</tt> is set to the minimum of
2205 2<sup>15</sup> and the lowest power
2206 of 2 that is strictly larger than <tt>K*F/4</tt>
2207 (in bytes). The wire format of HELLO_BF is the resulting byte
2208 array. In particular, <tt>K</tt> is never transmitted.
2209 </dd>
2210 </dl>
2211
2191 <t> 2212 <t>
2192 To filter results of HELLO blocks using the Bloom filter, the 2213 To filter results of HELLO blocks using the Bloom filter, the
2193 <tt>H_ADDRS</tt> field (as computed using SHA-512 over 2214 <tt>H_ADDRS</tt> field (as computed using SHA-512 over