2.2.3.1 Graph Info Record

The Graph Info Record is used to publish the graph configuration to every member of the graph. It is represented as a PEER_RECORD (section 2.2.1.9) with the following fields set:

Record Type MUST be set to the GUID value {00000100-0000-0000-0000-000000000000}

Record Id: MUST be set to the GUID value {6c796768-7732-406b-bc6e-5e9c0d864580}

Payload Data MUST be set to the following data BLOB.


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

Size

Reserved

D

I

Scope

Graph ID Length

Graph ID (variable)

...

Creator ID Length

Creator ID (variable)

...

Friendly Name Length

Friendly Name (variable)

...

Comment Length

Comment (variable)

...

Presence Lifetime

Max Presence Records

Max Record Size

Size (4 bytes): The total number of bytes in this structure.

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

D (1 bit): (Deferred Expiration): When set, indicates that record expiration occurs only when the node is connected to at least one other node.

I (1 bit): (Ignored): The value of this bit MUST be set to zero and MUST be ignored.

Scope (4 bytes): Specifies the scope in which the graph operates.

Name

Meaning

PEER_GRAPH_SCOPE_GLOBAL

0x00000001

Scope includes the Internet.

PEER_GRAPH_SCOPE_SITELOCAL

0x00000002

Scope is restricted to a site, for example, a corporation intranet.

PEER_GRAPH_SCOPE_LINKLOCAL

0x00000003

Scope is restricted to a local subnet.

Graph ID Length (4 bytes): The length, in characters, of the Graph ID string, including the terminating null character. This field MUST be in the range 2 to 256.

Graph ID (variable): The graph ID as a null-terminated Unicode string. This field MUST NOT be changed after the graph is created.

Creator ID Length (4 bytes): The length, in characters, of the Creator ID string, including the terminating null character. This field MUST be in the range 2 to 256.

Creator ID (variable): The Peer ID of the Graph Creator as a null-terminated Unicode string. This field MUST NOT be changed after the graph is created.

Friendly Name Length (4 bytes): The length, in characters, of the Friendly Name string, including the terminating null character. This field MUST be in the range 0 to 256.

Friendly Name (variable): The friendly name of the Graph as a null-terminated Unicode string. If the Friendly Name Length is 0x00000000, this field MUST NOT be present.

Comment Length (4 bytes): The length, in characters, of the Comment string, including the terminating null character. This field MUST be in the range 0 to 512.

Comment (variable): The comment associated with the Graph as a null-terminated Unicode string. If the Comment Length is 0x00000000, this field MUST NOT be present.

Presence Lifetime (4 bytes): Specifies the lifetime, in seconds, of a presence record. The value MUST be either 0x00000000 or greater than or equal to 300. If the value is 0x00000000, the lifetime of a presence record MUST be the default value of 300 seconds (5 minutes).

Max Presence Records (4 bytes): Specifies the maximum number of presence records that SHOULD be published in the graph at one time. The value is interpreted as follows.

Value

Meaning

0xFFFFFFFF

presence records MUST be automatically published for all users.

0

presence records MUST NOT be published unless requested by the Application.

0x00000001 — 0xFFFFFFFE

The maximum number of presence records that SHOULD be published at one time. Each node MUST determine whether to publish or unpublish its presence, as specified in section 3.1.7.17.

Max Record Size (4 bytes): Specifies the value that indicates the size, in bytes, of the largest record that can be added to a graph. This value MUST be either 0x00000000 or between 1,024 (indicating a size of 1 KB) and 62,914,560 (indicating a size of 60 MB). A value of 0x00000000 is interpreted as the maximum size, 60 MB. This value constrains only the combined size of the record payload and Attributes.