31.2.1 LOCATOR_FILTER QoS Policy (DDS Extension)

The LocatorFilter QoS Policy is only applicable to the built-in topic for a Publication (see Table 31.2 Publication Built-in Topic’s Data Type (DDS_PublicationBuiltinTopicData)).

See the API Reference HTML documentation for complete QoS details, including functional categories, defaults, and other QoS attributes. (API References are here: <NDDSHOME>/doc/api/connext_dds/api_<language>) For example, click here for QoS in the Modern C++ API.

Table 31.6 DDS_LocatorFilterQosPolicy

Type

Field Name

Description

DDS_

LocatorFilterSeq

locator_

filters

A sequence of locator filters, described in Table 31.7 DDS_LocatorFilter_t. There is one locator filter per DataWriter channel. If the length of the sequence is zero, the DataWriter is not using multi-channel.

char *

filter_

name

Name of the filter class used to describe the locator filter expressions. The following two values are supported:

  • DDS_SQLFILTER_NAME
  • DDS_STRINGMATCHFILTER_NAME

Table 31.7 DDS_LocatorFilter_t

Type

Field Name

Description

DDS_

LocatorSeq

locators

A sequence of multicast address locators for the locator filter. See Table 31.8 DDS_Locator_t.

char *

filter_

expression

A logical expression used to determine if the data will be published in the channel associated with this locator filter. See 45.5 SQL Filter Expression Notation and 45.6 STRINGMATCH Filter Expression Notation for information about the expression syntax.

Table 31.8 DDS_Locator_t

Type

Field Name

Description

DDS_Long

kind

If the locator kind is DDS_LOCATOR_KIND_UDPv4, the address contains an IPv4 address. The leading 12 octets of the address must be zero. The last 4 octets store the IPv4 address.

If the locator kind is DDS_LOCATOR_KIND_UDPv6, the address contains an IPv6 address. IPv6 addresses typically use a shorthand hexadecimal notation that maps one-to-one to the 16 octets of the address.

In C#, the locator kinds for UDPv4 and UDPv6 addresses are Locator_t.LOCATOR_KIND_UDPv4 and Locator_t.LOCATOR_KIND_UDPv6.

DDS_Octet

[16]

address

The locator address.

DDS_

UnsignedLong

port

The locator port number.