The NetworkMessage flags used with the discovery request 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 five fields 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 requests shall be randomly delayed in the range of 100-500 ms. The request shall be skipped if the information is already received during this time or another Subscriber sent already a request and the response to this request is used.

Discovery requests for different DataSetWriters in one WriterGroup shall be aggregated into one discovery response.

A Publisher shall delay subsequent responses for a combination of request type and identifier like the DataSetWriterId for at least 500 ms. Duplicate requests, that have not yet been responded to, shall be discarded by the Publisher.

A Subscriber shall wait for a response at least 500 ms. As long as not all responses are received, the Subscriber requests the missing information. It shall double the time period between follwing requests until all needed response are received or denied.

The encoding of the discovery request header structure is specified in Table 85.

Table 85 – Discovery Request Header Structure

Name

Type

Description

RequestType

Byte

The following types of discovery request messages are defined.

0Reserved

1 Publisher information request message (see 7.2.2.4.1.4)

The encoding of the Publisher information request message structure is specified in Table 86.

Table 86 – Publisher Information Request Message Structure

Name

Type

Description

InformationType

Byte

The following types of Publisher information requests are defined.

0Reserved

1 Publisher Server Endpoints

2 DataSetMetaData

3 DataSetWriter configuration

DataSetWriterIds

UInt16[]

List of DataSetWriterIds the information is requested for.

If the request is not related to DataSet, the array shall be null.