The NetworkMessage flags used with the discovery probe messages shall use the following bit values.
- UADPFlags bits 5 and 6 shall be false, bits 4 and 7 shall be true
- ExtendedFlags1 bits 3, 5 and 6 shall be false, bits 4 and 7 shall be true
- ExtendedFlags2 bit 2 shall be true, all other bits shall be false
The setting of the flags ensures a known value for the first three bytes plus the PublisherId in the NetworkMessage on the Publisher as receiver. The actual security settings for the NetworkMessage are indicated by the SecurityHeader.
A variety of rules are used to reduce the amount of traffic on the network in the case of multicast or broadcast communication.
A Subscriber should cache configuration information for PublisherId and DataSetWriterIds of interest.
If a Subscriber requires information from Publishers after a startup or version change detection, discovery probes shall be randomly delayed in the range of 100 ms to 500 ms. The probe shall be skipped if the information is already received during this time or another Subscriber sent already a probe and the announcement to this probe is used.
A Subscriber shall wait for a announcement at least 500 ms. As long as not all announcements are received, the Subscriber requests the missing information. It should double the time period between following probes until all needed announcements are received or denied. The maximum period is Subscriber specific.
A Publisher shall delay subsequent announcements for a combination of probe type and identifier like the DataSetWriterId for at least 500 ms. Duplicate probes, that have not yet been responded to, shall be discarded by the Publisher. The maximum delay is Publisher specific.
If the Publisher receives discovery probes for different DataSetWriters in one WriterGroup, the Publisher shall send one aggregated discovery announcement.
The encoding of the discovery probe header structure is specified in Table 157.
Table 157 – Discovery probe header structure
Name |
Type |
Description |
ProbeType |
Byte |
The following types of discovery probe messages are defined. 0Reserved 1 Publisher information probe message (see 7.2.4.6.10.4) 2FindApplications probe message.The message type does not have additional fields. The PublisherId is set to NULL. |
The encoding of the Publisher information probe message structure is specified in Table 158.
Table 158 – Publisher information probe message structure
Name |
Type |
Description |
InformationType |
Byte |
The following types of Publisher information probes are defined. 0Reserved No additional fields are defined. The information is provided with the Publisher Endpoints announcement message defined in 7.2.4.6.4. The settings for this InformationType are defined in Table 159. The information is provided with the DataSetMetaData announcement message defined in 7.2.4.6.4. 3 DataSetWriter configuration The settings for this InformationType are defined in Table 159. The information is provided with the DataSetWriter configuration announcement message defined in 7.2.4.6.9. 4 WriterGroup configuration The settings for this InformationType are defined in Table 160 The information is provided with the DataSetWriter configuration announcement message defined in 7.2.4.6.9. 5 PubSubConnections configuration The settings for this InformationType are defined in Table 161 The information is provided with the PubSubConnection configuration announcement message defined in 7.2.4.6.7. |
The additional field for DataSetWriter related InformationType in a Publisher information probe message are specified in Table 159.
Table 159 – DataSetWriter settings for Publisher information probe
Name |
Type |
Description |
DataSetWriterIds |
UInt16[] |
List of DataSetWriterIds the information is requested for. The field is encoded as Array with number of elements encoded as Int32 value. For DataSetMetaData probes, the Publisher sends one discovery announcement NetworkMessage for each requested DataSetWriterId. For DataSetWriter configuration probes, the DataSetWriters that belong to one WriterGroup are sent together in one DataSetWriter configuration message. If more than one WriterGroup is affected, this results in a DataSetWriter configuration message per WriterGroup. |
The additional fields for WriterGroup related InformationType in a Publisher information probe message are specified in Table 160.
Table 160 – WriterGroup settings for Publisher information probe
Name |
Type |
Description |
WriterGroupId |
UInt16 |
This option allows a Publisher information probe for a WriterGroup and the contained DataSetWriters if only the WriterGroupId is known from NetworkMessages. For WriterGroup configuration probes, the DataSetWriters that belong to the WriterGroup are sent together in one DataSetWriter configuration message. |
IncludeDataSetWriters |
Boolean |
Flag indicating if the DataSetWriter should be contained in the PubSubConnection configuration announcement message. |
The additional fields for PubSubConnection configuration in a Publisher information probe message are specified in Table 161.
Table 161 – PubSubConnections settings for Publisher information probe
Name |
Type |
Description |
TransportProfileUris |
String [] |
Filter criteria for the PubSubConnections to return in the PubSubConnection configuration announce message. If TransportProfileUris are set, only PubSubConnection with matching TransportProfileUri shall be returned. If the TransportProfileUris is null or empty, all PubSubConnections are returned. |
IncludeWriterGroups |
Boolean |
Flag indicating if the WriterGroups should be contained in the PubSubConnection configuration announcement message. |
IncludeDataSetWriters |
Boolean |
Flag indicating if the DataSetWriters should be contained in the PubSubConnection configuration announcement message. This flag is ignored if IncludeWriterGroups is false. Setting this flag increases the size of the PubSubConnection configuration announcement message and it is more likely that max message sizes are exceeded. |