2.2.2.14 ACK

The ACK message is sent to acknowledge one or more FLOOD (section 2.2.2.11) messages, and to report whether each Record sent in the FLOOD message or messages was useful.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Message Size

Version

Message Type

Reserved

ACKs Count

ACKs Offset

Record ACK (variable)

...

Message Size (4 bytes): The total number of bytes in the message.

Version (1 byte): The Peer-to-Peer Graphing Protocol version number. This MUST be set to 0x10 to signify version 1.0.

Message Type (1 byte): MUST be set to 0x0E.

Reserved (2 bytes): MUST be set to zero and ignored on receipt.

ACKs Count (2 bytes): The number of Record ACKs in this message.

ACKs Offset (2 bytes): The offset, in bytes, from the beginning of the message to the start of the Record ACK Array.

Record ACK (variable): An array of Record ID/Flag pairs, with each pair in the array formatted as follows.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Record ID (16 bytes)

...

...

Reserved

U

Record ID (16 bytes): The Record ID, expressed as a GUID.

Reserved (31 bits): MUST be set to zero and MUST be ignored on receipt.

U (1 bit): When set, indicates that the acknowledged FLOOD for this Record ID was useful. When not set, the FLOOD was not useful.