2.3 SYNC_KNOWLEDGE

The SYNC_KNOWLEDGE structure describes all the changes that the sync participant, which generated the knowledge, has tracked.


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

Version

Reserved1

Reserved2

Reserved3

ReplicaKeyMap (variable)

...

...

SectionSignature

A

ReplicaGidLength

B

SyncGidLength

Reserved4

Reserved5

ClockVectorTableSignature

ClockVectorTable (variable)

...

...

RangeSetTableSignature

RangeSetTable (variable)

...

...

Reserved6

Reserved7

Reserved8

Reserved9

Version (4 bytes): This value MUST be set to 5.

Reserved1 (4 bytes): This value MUST be set to 0.

Reserved2 (4 bytes): This value MUST be set to 1.

Reserved3 (4 bytes): This value MUST be set to 0.

ReplicaKeyMap (variable): Specifies all the replicas referenced by this SYNC_KNOWLEDGE structure. The index position in this map is used to more concisely describe the replica name in each CLOCK_VECTOR_ELEMENT.

SectionSignature (4 bytes): This value MUST be set to 24.

A - AreReplicaGidsVariableLength (1 byte): This value MUST be set to 0.

ReplicaGidLength (2 bytes): This value MUST be set to 16.

B - AreSyncGidsVariableLength (1 byte): This value MUST be set to 0.

SyncGidLength (2 bytes): This value MUST be set to 24.

Reserved4 (1 byte): This value MUST be set to 0.

Reserved5 (2 bytes): This value MUST be set to 1.

ClockVectorTableSignature (4 bytes): This value MUST be set to 21.

ClockVectorTable (variable): A VECTOR_CLOCK_VECTOR element that contains a list of CLOCK_VECTOR structures that specify the version state for the items identified by a RANGE.

RangeSetTableSignature (4 bytes): This value MUST be set to 23.

RangeSetTable (variable): A VECTOR_RANGE_SET element that contains a list of RANGE_SET structures that specify the version state tracked by the replica for the items identified by each RANGE.

Reserved6 (4 bytes): This value MUST be set to 0.

Reserved7 (4 bytes): This value MUST be set to 25.

Reserved8 (1 byte): This value MUST be set to 1.

Reserved9 (4 bytes): This value MUST be set to 0.