2.6 Sample Distribution to a Selected QueueConsumer

Queuing Service implements the logic that decides which QueueConsumer DataReader gets each sample. To distribute a sample to the selected QueueConsumer, the QueueConsumer DataReader uses a ContentFilteredTopic on the related_reader_guid. For example:

(@related_reader_guid.value = &hex(00000000000000000000000000000007))

Queuing Service uses the write_w_param() operation on the SharedReaderQueue DataWriter to set the related_reader_guid to the value specified in the filter expression of the selected DataReader (see Figure 2.3: Sample Distribution to Selected QueueConsumer DataReader).

Figure 2.3: Sample Distribution to Selected QueueConsumer DataReader

In Figure 2.3: Sample Distribution to Selected QueueConsumer DataReader, when Queuing Service wants to send a sample to the first DataReader, it sets the field related_reader_guid in WriteParams_t to 0xFF. To send to the second DataReader, related_reader_guid is set to 0xEF.