Issue57

Issue Title Setting and Interpreting the R-Flag
Document: GIMPS Protocol Specification v07 Section: 5.2.1, C.2
Category: Editorial Priority: Must Fix
Status: Closed

Created on 2005-07-29.14:05:54 by reh, last changed 2005-09-01.12:58:02.

Messages
msg211 Author: reh Date: 2005-09-01.12:58:02
The following has been included in section C.2:

   The rules governing the use of the R-flag depend on the GIMPS message
   type.  It must always be set in Query messages (these always elicit a
   Response), and never in Confirm, Data or Error messages.  It is
   optional in a MA-Hello; if set, another MA-Hello is sent in reply.
   It is optional in a Response (but must be set if the Response
   contains a Responder cookie); if set, a Confirm is sent in reply.

The text has been updated accordingly in section 5.2.1 in the top level
description of each message, and the Responder cookie in the Confirm marked as
optional in the ABNF.
msg194 Author: reh Date: 2005-07-29.15:12:57
A consequence of this change is that the Responder cookie becomes conceptually
optional in the Confirm message. (You could send a Confirm because the Response
had the R flag, even though the Response has no Cookie. However, if the Response
does have a Cookie, echoing it in the Confirm is mandatory.)
msg193 Author: reh Date: 2005-07-29.15:01:09
A consequence of this change is that the Responder cookie becomes conceptually
optional in the Confirm message. (You could send a Confirm because the Response
had the R flag, even though the Response has no Cookie. However, if the Response
does have a Cookie, echoing it in the Confirm is mandatory.)
msg190 Author: reh Date: 2005-07-29.14:05:54
The common header includes an R flag, which is supposed to be set when a message
response is requested. Sometimes this is implicitly determined by the message
type, and sometimes by the message content (e.g. the R flag cannot be set on a
Confirm, while on the other hand a Query with a Cookie must have the R flag
set). These rules should be stated, and also that the R flag is 'authoritative'
in deciding that a next message in a handshake is required.
History
Date User Action Args
2005-09-01 12:58:02rehsetstatus: Pending -> Closed
messages: + msg211
2005-07-29 15:12:57rehsetmessages: + msg194
2005-07-29 15:01:09rehsetstatus: No Discussion -> Pending
messages: + msg193
2005-07-29 14:18:11rehsetsection: C.2 -> 5.2.1, C.2
2005-07-29 14:05:54rehcreate