From de75550415694ea239f0683a6d103225263e4497 Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Thu, 19 Jun 2014 01:27:03 +0200 Subject: [PATCH] Clarify requirements on config messages (ref #377) --- protocol/PROTOCOL.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/protocol/PROTOCOL.md b/protocol/PROTOCOL.md index ab6140f0..505e4bc3 100644 --- a/protocol/PROTOCOL.md +++ b/protocol/PROTOCOL.md @@ -59,10 +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 - 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 +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. The underlying transport protocol MUST be TCP. @@ -118,8 +119,9 @@ normalization form C. ### Cluster Config (Type = 0) This informational message provides information about the cluster -configuration, as it pertains to the current connection. It is sent by -both sides after connection establishment. +configuration as it pertains to the current connection. A Cluster Config +message MUST be the first message sent on a BEP connection. Additional +Cluster Config messages MUST NOT be sent after the initial exchange. #### Graphical Representation