gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lsd0004] branch master updated (ec09e09 -> 370224b)


From: gnunet
Subject: [lsd0004] branch master updated (ec09e09 -> 370224b)
Date: Sun, 25 Dec 2022 12:29:05 +0100

This is an automated email from the git hooks/post-receive script.

martin-schanzenbach pushed a change to branch master
in repository lsd0004.

    from ec09e09  Minor wording and terminology
     new 23e204e  Add address to terminology; HelloMessage review
     new 370224b  Various connection changes

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 draft-schanzen-r5n.xml | 121 ++++++++++++++++++++++++++++++-------------------
 1 file changed, 75 insertions(+), 46 deletions(-)

diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml
index 668fcb9..e5f72b2 100644
--- a/draft-schanzen-r5n.xml
+++ b/draft-schanzen-r5n.xml
@@ -165,6 +165,25 @@
     <section anchor="terminology">
     <name>Terminology</name>
     <dl>
+      <dt>Address</dt>
+      <dd>
+        <t>
+         is a UTF-8 <xref target="RFC3629"/> URI
+         <xref target="RFC3986"/> which can be
+         used as address to contact a peer.
+         An example of an addressing scheme used in
+         this document is "r5n+ip+tcp", which refers to a standard TCP/IP 
socket
+         connection. The "hier"-part of the URI must provide a suitable
+         address for the given addressing scheme.
+         The following is a non-normative example of address strings:
+        </t>
+        <figure title="Example Address URIs.">
+          <artwork name="" type="" align="left" alt=""><![CDATA[
+r5n+ip+udp://1.2.3.4:6789/
+gnunet+tcp://12.3.4.5/
+]]></artwork>
+        </figure>
+      </dd>
       <dt>Applications</dt>
       <dd>
         Applications are components which directly use the DHT overlay
@@ -417,7 +436,6 @@ Connectivity | |Underlay|  |Underlay|
         API:
       </t>
       <dl>
-        <!-- FIXME: Not used anywhere in draft -->
         <dt>
           <tt>TRY_CONNECT(N, A)</tt>
         </dt>
@@ -545,9 +563,13 @@ Connectivity | |Underlay|  |Underlay|
        information about its current set of neighbors.
         Upon receiving a connection notification from the Underlay through
         <tt>PEER_CONNECTED</tt>, information on the new neighbor
-        <bcp14>MUST</bcp14> be added, and similarly when
-        a disconnect is indicated by the Underlay through
-        <tt>PEER_DISCONNECTED</tt> the peer <bcp14>MUST</bcp14> be removed.
+        <bcp14>MUST</bcp14> be added.
+        Similarly when a disconnect is indicated by the Underlay through
+        <tt>PEER_DISCONNECTED</tt> messages for all addresses of the peer it
+        <bcp14>MUST</bcp14> be removed.
+        The implementation <bcp14>MAY</bcp14> try to re-establish connection
+        to the peer by issuing <tt>TRY_CONNECT</tt> requests on the Underlay
+        using valid HELLO caches.
       </t>
       <t>
         In order to achieve O(log n) routing performance,
@@ -577,7 +599,8 @@ Connectivity | |Underlay|  |Underlay|
           Initially, the implementation depends upon either the Underlay 
providing at
           least one initial connection to a peer (signalled through
           <tt>PEER_CONNECTED</tt>), or the application/end-user providing at
-          least one working HELLO to the DHT for bootstrapping.
+          least one working HELLO which is then in turn used to call 
<tt>TRY_CONNECT</tt>
+          on the Underlay.
           While details on how the first connection is established 
<bcp14>MAY</bcp14>
           depend on the specific implementation, this <bcp14>SHOULD</bcp14> 
usually be done
           by an out-of-band exchange of the information from a HELLO block.
@@ -619,14 +642,20 @@ Connectivity | |Underlay|  |Underlay|
           HELLOs of peers that are useful somewhere in the routing table.
         </t>
         <t>
+          <!-- This here sais that this is a mandatory functionality. in 
HelloMessage it
+               sais RECOMMENDED -->
           To facilitate peer discovery, each peer <bcp14>MUST</bcp14> 
broadcast its own
           HELLO message to all peers in the routing table periodically.
           The specific frequency <bcp14>MAY</bcp14> depend on available 
bandwidth
           but <bcp14>SHOULD</bcp14> be a fraction of the expiration period.
-          Whenever a peer receives such a HELLO message from another peer,
-          it must cache it as long as that peer is in its routing table
+          Whenever a peer receives such a HELLO message from another peer that 
is
+          already in the routing table, it must cache it as long as that peer 
is in its routing table
           (or until the HELLO expires) and serve it in response to
-          Peer Discovery requests.  Details about the format of the
+          <!-- FIXME wat is a Peer Discovery request??
+               maybe a HELLO GET request?
+          -->
+          Peer Discovery requests.
+          Details about the format of the
           HELLO message are given in <xref target="p2p_hello_wire"/>.
         </t>
         <t>
@@ -846,16 +875,6 @@ BEGIN
         or <tt>PutMessage</tt>s.
         The status of initiator is relevant for peers when processing 
<tt>ResultMessages</tt>
         and the potential handover of results to the application.
-        <!-- FIXME: Are hello messages should or must?
-        -->
-        Initiation of <tt>HelloMessages</tt> is <bcp14>RECOMMENDED</bcp14>.
-        <tt>HelloMessage</tt>s are used to inform neighbors of
-       a peer about the sender's available addresses. The
-       recipients use these messages to inform their respective
-       Underlays about ways to sustain the connections and to
-       generate HELLO blocks (see <xref target="hello_block"/>)
-        to answer peer discovery queries
-       from other peers.
       </t>
       <t>
         The implementation <bcp14>MUST</bcp14> listen for <tt>RECEIVE(P, 
M)</tt> signals
@@ -1166,15 +1185,31 @@ BEGIN
           <!-- FIXME: While it is discussed here how to hangle HelloMessages
                nowhere in the draft is a HelloMessage created at the
                initiator so it is completely irrelevant atm -->
-         In contrast to a HELLO block, a
+          When the Underlay notifies the implementation of added or removed
+          addresses through <tt>ADDRESS_ADDED</tt> and <tt>ADDRESS_DELETED</tt>
+          it <bcp14>MAY</bcp14> disseminate those changes to neighbors using
+          <tt>HelloMessage</tt>s.
+         <!-- FIXME yesyes this is blabla and obvious when reading the 
processing section.
+              In contrast to a HELLO block, a
          <tt>HelloMessage</tt> does not contain the ID of
          the peer the address information is about: in a
          <tt>HelloMessage</tt>, the address information is always
-         about the sender. Since
-         the Underlay is responsible to determine the
+         about the sender.
+          Since the Underlay is responsible to determine the
          peer ID of the sender for all messages, it would thus be
          redundant to also include the peer ID in the
-         <tt>HelloMessage</tt>.
+         <tt>HelloMessage</tt>.-->
+          <!-- FIXME: Are hello messages should or must?
+               Only recommended not, if so, what if that is not done?
+          -->
+          Initiation of <tt>HelloMessages</tt> by the implementation itself is 
<bcp14>RECOMMENDED</bcp14>.
+          <tt>HelloMessage</tt>s are used to inform neighbors of
+         a peer about the sender's available addresses. The
+         recipients use these messages to inform their respective
+         Underlays about ways to sustain the connections and to
+         generate HELLO blocks (see <xref target="hello_block"/>)
+          to answer peer discovery queries
+         from other peers.
         </t>
         <section anchor="p2p_hello_wire">
           <name>Wire Format</name>
@@ -1232,10 +1267,10 @@ BEGIN
             <dt>ADDRESSES</dt>
             <dd>
               A sequence of exactly URL_CTR
-              0-terminated URIs in UTF-8 encoding representing addresses
-              of this peer. Each URI must begin with a non-empty
-              URI scheme terminated by "://" and followed by some
-              non-empty Underlay- and scheme-specific address encoding.
+              addresses (<xref target="terminology"/>)
+              which can be used to contact the peer.
+              Each address <bcp14>MUST</bcp14> be 0-terminated.
+              The set of addresses <bcp14>MAY</bcp14> be empty.
             </dd>
           </dl>
         </section>
@@ -1251,13 +1286,21 @@ BEGIN
               is discarded.
             </li>
             <li>
-              The signature is verified, including a check that the expiration 
time is in the future. If the signature is invalid, the message is discarded.
+              The signature is verified, including a check that the expiration 
time
+              is in the future. If the signature is invalid, the message is 
discarded.
+            </li>
+            <li>
+              The HELLO information is cached in the routing table until it 
expires,
+              the peer is removed from the routing table, or the information 
is replaced by another message from the peer.
             </li>
             <li>
-              The HELLO information is cached in the routing table until it 
expires, the peer is removed from the routing table, or the information is 
replaced by another message from the peer.
+              <!-- We need a statement like this here. Should they? Can they? 
What if they are (not)? -->
+              <tt>HelloMessages</tt> <bcp14>SHOULD NOT</bcp14> be forwarded.
             </li>
           </ol>
          <t>
+            <!-- FIXME: How? What function of the underlay? The underlay also 
already knows so...
+                 what is the point? -->
            The address information about P should then also be made
            available to each respective Underlays to enable the
            Underlay to maintain optimal connectivity to the
@@ -2169,24 +2212,10 @@ BEGIN
             </dd>
             <dt>ADDRESSES</dt>
             <dd>
-             <t>
-              is a list of UTF-8 <xref target="RFC3629"/> URIs
-              <xref target="RFC3986"/> which can be
-              used as addresses to contact the peer.
-              The strings <bcp14>MUST</bcp14> be 0-terminated.
-              The set of URIs MAY be empty.
-              An example of an addressing scheme used throughout
-              this document is "r5n+ip+tcp", which refers to a standard TCP/IP 
socket
-              connection. The "hier"-part of the URI must provide a suitable
-              address for the given addressing scheme.
-              The following is a non-normative example of address strings:
-              </t>
-          <figure title="Example Address URIs.">
-            <artwork name="" type="" align="left" alt=""><![CDATA[
-r5n+ip+udp://1.2.3.4:6789/
-gnunet+tcp://12.3.4.5/
-             ]]></artwork>
-          </figure>
+              is a list of UTF-8 addresses (<xref target="terminology"/>)
+              which can be used to contact the peer.
+              Each address <bcp14>MUST</bcp14> be 0-terminated.
+              The set of addresses MAY be empty.
             </dd>
             <dt>SIGNATURE</dt>
             <dd>

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]