The basic assumption for these header layouts is that the data layout in the published messages is static. This implies the following:
- Each NetworkMessage contains the same number of DataSetMessages
- The sequence of the DataSetMessages within a NetworkMessage is the same in every PublishingInterval
- The layout of the fields within every DataSetMessage is the same in every PublishingInterval Note: These assumptions have to be fulfilled by appropriate configuration of the Publisher.
Subscribers have to know the static message layout in advance. This means all fields in the headers which would be required for ad-hoc parsing of messages with dynamic layout can be omitted (e.g. PayloadHeader or Sizes).
Finally, a Subscriber needs an easy way to verify that a received message matches the expected message layout. Fields of the NetworkMessage header and the GroupHeader will be used for this purpose.
PublisherId and WriterGroupId identify the WriterGroup. The NetworkMessageNumber is important for WriterGroups which distribute their DataSets over more than one NetworkMessage, and the GroupVersion allows the Subscriber to verify the expected layout of the DataSetMessages and their DataSet fields.