2.2.2.6 SOLICIT_NEW

The SOLICIT_NEW message is sent by a node that connected to the graph for the first time (and has never synchronized before). This message initiates a sync of the entire database.


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

Inclusion Count

Exclusion Count

Record Types Offset

Record Types (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 0x06.

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

Inclusion Count (1 byte): The count of record types to be included in the sync. This field MUST be set to 0x00 if Exclusion Count is nonzero.

Exclusion Count (1 byte): The count of record types that are to be excluded from the sync. This field MUST be set to 0x00 if Inclusion Count is nonzero.

Record Types Offset (2 bytes): The offset, in bytes, from the beginning of the message of the Record Typearray.

Record Types (variable): The array of record types that are included or excluded, expressed as an array of GUIDs in big-endian byte order. The record types that are synchronized are controlled by the inclusion/exclusion list:

  • When no record types are specified, all record types MUST be synchronized.

  • When Inclusion Count is nonzero, the sync MUST include only the record types in the Record Types array.

  • When Exclusion Count is nonzero, the sync MUST include all record types except those in the Record Types array.