summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakob Borg <jakob@nym.se>2014-06-19 01:59:58 +0200
committerJakob Borg <jakob@nym.se>2014-06-19 01:59:58 +0200
commit0e59b5678ac4ceb513fa0a45e6f7db93f7678470 (patch)
tree0dd6fd4461bc6f2308fab74c6f46d7e1d614f698
parentde75550415694ea239f0683a6d103225263e4497 (diff)
Further clarify message ordering requirements (ref #377)
-rw-r--r--protocol/PROTOCOL.md21
1 files changed, 11 insertions, 10 deletions
diff --git a/protocol/PROTOCOL.md b/protocol/PROTOCOL.md
index 505e4bc398..1b1fb3c156 100644
--- a/protocol/PROTOCOL.md
+++ b/protocol/PROTOCOL.md
@@ -59,11 +59,11 @@ or certificate pinning combined with some out of band first
verification. The reference implementation uses preshared certificate
fingerprints (SHA-256) referred to as "Node IDs".
-There is no required order or synchronization among BEP messages (except
-for the requirements on Cluster Config messages below) - any message
-type may be sent at any time and the sender need not await a response to
-one message before sending another. Responses MUST however be sent in
-the same order as the requests are received.
+There is no required order or synchronization among BEP messages except
+as noted per message type - any message type may be sent at any time and
+the sender need not await a response to one message before sending
+another. Responses MUST however be sent in the same order as the
+requests are received.
The underlying transport protocol MUST be TCP.
@@ -297,11 +297,12 @@ peers acting in a specific manner as a result of sent options.
### Index (Type = 1)
The Index message defines the contents of the senders repository. An
-Index message MUST be sent by each node immediately upon connection. A
-node with no data to advertise MUST send an empty Index message (a file
-list of zero length). If the repository contents change from non-empty
-to empty, an empty Index message MUST be sent. There is no response to
-the Index message.
+Index message MUST be sent for each repository mentioned in the Cluster
+Config message. An Index message for a repository MUST be sent before
+any other message referring to that repository. A node with no data to
+advertise MUST send an empty Index message (a file list of zero length).
+If the repository contents change from non-empty to empty, an empty
+Index message MUST be sent. There is no response to the Index message.
#### Graphical Representation