1983 lines
90 KiB
XML
1983 lines
90 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="https://cdds.io/config" xmlns:config="https://cdds.io/config">
|
|
<xs:element name="CycloneDDS">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
CycloneDDS configuration</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element minOccurs="0" ref="config:Domain"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Domain">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The General element specifying Domain related settings.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element minOccurs="0" ref="config:Compatibility"/>
|
|
<xs:element minOccurs="0" ref="config:Discovery"/>
|
|
<xs:element minOccurs="0" ref="config:General"/>
|
|
<xs:element minOccurs="0" ref="config:Internal"/>
|
|
<xs:element minOccurs="0" ref="config:Partitioning"/>
|
|
<xs:element minOccurs="0" ref="config:SSL"/>
|
|
<xs:element minOccurs="0" ref="config:Sizing"/>
|
|
<xs:element minOccurs="0" ref="config:TCP"/>
|
|
<xs:element minOccurs="0" ref="config:ThreadPool"/>
|
|
<xs:element minOccurs="0" name="Threads">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element is used to set thread properties.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element minOccurs="0" maxOccurs="unbounded" ref="config:Thread"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element minOccurs="0" ref="config:Tracing"/>
|
|
</xs:all>
|
|
<xs:attribute name="Id">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>Domain id this configuration applies to, or "any" if it applies to all
|
|
domain ids.</p><p>The default value is: &quot;any&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Compatibility">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The Compatibility elements allows specifying various settings related
|
|
to compatability with standards and with other DDSI implementations.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element minOccurs="0" ref="config:AssumeRtiHasPmdEndpoints"/>
|
|
<xs:element minOccurs="0" ref="config:ExplicitlyPublishQosSetToDefault"/>
|
|
<xs:element minOccurs="0" ref="config:ManySocketsMode"/>
|
|
<xs:element minOccurs="0" ref="config:StandardsConformance"/>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="AssumeRtiHasPmdEndpoints" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This option assumes ParticipantMessageData endpoints required by the
|
|
liveliness protocol are present in RTI participants even when not
|
|
properly advertised by the participant discovery protocol.</p><p>The
|
|
default value is: &quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ExplicitlyPublishQosSetToDefault" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies whether QoS settings set to default values are
|
|
explicitly published in the discovery protocol. Implementations are to
|
|
use the default value for QoS settings not published, which allows a
|
|
significant reduction of the amount of data that needs to be exchanged
|
|
for the discovery protocol, but this requires all implementations to
|
|
adhere to the default values specified by the specifications.</p>
|
|
|
|
<p>When interoperability is required with an implementation that does not
|
|
follow the specifications in this regard, setting this option to true
|
|
will help.</p><p>The default value is: &quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ManySocketsMode">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This option specifies whether a network socket will be created for
|
|
each domain participant on a host. The specification seems to assume that
|
|
each participant has a unique address, and setting this option will
|
|
ensure this to be the case. This is not the defeault.</p>
|
|
|
|
<p>Disabling it slightly improves performance and reduces network traffic
|
|
somewhat. It also causes the set of port numbers needed by Cyclone DDS to
|
|
become predictable, which may be useful for firewall and NAT
|
|
configuration.</p><p>The default value is: &quot;single&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="false"/>
|
|
<xs:enumeration value="true"/>
|
|
<xs:enumeration value="single"/>
|
|
<xs:enumeration value="none"/>
|
|
<xs:enumeration value="many"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="StandardsConformance">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element sets the level of standards conformance of this instance
|
|
of the Cyclone DDS Service. Stricter conformance typically means less
|
|
interoperability with other implementations. Currently three modes are
|
|
defined:</p>
|
|
|
|
<ul><li><i>pedantic</i>: very strictly conform to the specification,
|
|
ultimately for compliancy testing, but currently of little value because
|
|
it adheres even to what will most likely turn out to be editing errors in
|
|
the DDSI standard. Arguably, as long as no errata have been published it
|
|
is the current text that is in effect, and that is what pedantic
|
|
currently does.</li>
|
|
|
|
<li><i>strict</i>: a slightly less strict view of the standard than does
|
|
pedantic: it follows the established behaviour where the standard is
|
|
obviously in error.</li>
|
|
|
|
<li><i>lax</i>: attempt to provide the smoothest possible
|
|
interoperability, anticipating future revisions of elements in the
|
|
standard in areas that other implementations do not adhere to, even
|
|
though there is no good reason not to.</li></ul>
|
|
|
|
<p>The default setting is "lax".</p><p>The default value is:
|
|
&quot;lax&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="lax"/>
|
|
<xs:enumeration value="strict"/>
|
|
<xs:enumeration value="pedantic"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="Discovery">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The Discovery element allows specifying various parameters related to
|
|
the discovery of peers.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element minOccurs="0" ref="config:DSGracePeriod"/>
|
|
<xs:element minOccurs="0" ref="config:DefaultMulticastAddress"/>
|
|
<xs:element minOccurs="0" ref="config:EnableTopicDiscovery"/>
|
|
<xs:element minOccurs="0" ref="config:MaxAutoParticipantIndex"/>
|
|
<xs:element minOccurs="0" ref="config:ParticipantIndex"/>
|
|
<xs:element minOccurs="0" ref="config:Peers"/>
|
|
<xs:element minOccurs="0" ref="config:Ports"/>
|
|
<xs:element minOccurs="0" ref="config:SPDPInterval"/>
|
|
<xs:element minOccurs="0" ref="config:SPDPMulticastAddress"/>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="DSGracePeriod" type="config:duration_inf">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This setting controls for how long endpoints discovered via a Cloud
|
|
discovery service will survive after the discovery service disappeared,
|
|
allowing reconnect without loss of data when the discovery service
|
|
restarts (or another instance takes over).</p>
|
|
|
|
<p>Valid values are finite durations with an explicit unit or the keyword
|
|
'inf' for infinity. Recognised units: ns, us, ms, s, min, hr,
|
|
day.</p><p>The default value is: &quot;30 s&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="DefaultMulticastAddress" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the default multicast address for all traffic
|
|
other than participant discovery packets. It defaults to
|
|
Discovery/SPDPMulticastAddress.</p><p>The default value is:
|
|
&quot;auto&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="EnableTopicDiscovery" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>Do not use.</p><p>The default value is: &quot;true&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MaxAutoParticipantIndex" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the maximum DDSI participant index selected by
|
|
this instance of the Cyclone DDS service if the
|
|
Discovery/ParticipantIndex is "auto".</p><p>The default value is:
|
|
&quot;9&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ParticipantIndex" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the DDSI participant index used by this
|
|
instance of the Cyclone DDS service for discovery purposes. Only one such
|
|
participant id is used, independent of the number of actual
|
|
DomainParticipants on the node. It is either:</p>
|
|
|
|
<ul><li><i>auto</i>: which will attempt to automatically determine an
|
|
available participant index (see also Discovery/MaxAutoParticipantIndex),
|
|
or</li>
|
|
|
|
<li>a non-negative integer less than 120, or</li>
|
|
|
|
<li><i>none</i>:, which causes it to use arbitrary port numbers for
|
|
unicast sockets which entirely removes the constraints on the participant
|
|
index but makes unicast discovery impossible.</li></ul>
|
|
|
|
<p>The default is <i>auto</i>. The participant index is part of the port
|
|
number calculation and if predictable port numbers are needed and fixing
|
|
the participant index has no adverse effects, it is recommended that the
|
|
second be option be used.</p><p>The default value is:
|
|
&quot;none&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Peers">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element statically configures addresses for discovery.</p>
|
|
|
|
<p>Valid values are finite durations with an explicit unit or the keyword
|
|
'inf' for infinity. Recognised units: ns, us, ms, s, min, hr, day.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element ref="config:Group"/>
|
|
<xs:element ref="config:Peer"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Group">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element statically configures a fault tolerant group of addresses
|
|
for discovery. Each member of the group is tried in sequence until one
|
|
succeeds.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element minOccurs="0" maxOccurs="unbounded" ref="config:Peer"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Peer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element statically configures an addresses for discovery.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:attribute name="Address" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies an IP address to which discovery packets must
|
|
be sent, in addition to the default multicast address (see also
|
|
General/AllowMulticast). Both a hostnames and a numerical IP address is
|
|
accepted; the hostname or IP address may be suffixed with :PORT to
|
|
explicitly set the port to which it must be sent. Multiple Peers may be
|
|
specified.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Ports">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The Ports element allows specifying various parameters related to the
|
|
port numbers used for discovery. These all have default values specified
|
|
by the DDSI 2.1 specification and rarely need to be changed.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element minOccurs="0" ref="config:Base"/>
|
|
<xs:element minOccurs="0" ref="config:DomainGain"/>
|
|
<xs:element minOccurs="0" ref="config:MulticastDataOffset"/>
|
|
<xs:element minOccurs="0" ref="config:MulticastMetaOffset"/>
|
|
<xs:element minOccurs="0" ref="config:ParticipantGain"/>
|
|
<xs:element minOccurs="0" ref="config:UnicastDataOffset"/>
|
|
<xs:element minOccurs="0" ref="config:UnicastMetaOffset"/>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Base" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the base port number (refer to the DDSI 2.1
|
|
specification, section 9.6.1, constant PB).</p><p>The default value is:
|
|
&quot;7400&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="DomainGain" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the domain gain, relating domain ids to sets of
|
|
port numbers (refer to the DDSI 2.1 specification, section 9.6.1,
|
|
constant DG).</p><p>The default value is: &quot;250&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MulticastDataOffset" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the port number for multicast data traffic
|
|
(refer to the DDSI 2.1 specification, section 9.6.1, constant
|
|
d2).</p><p>The default value is: &quot;1&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MulticastMetaOffset" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the port number for multicast meta traffic
|
|
(refer to the DDSI 2.1 specification, section 9.6.1, constant
|
|
d0).</p><p>The default value is: &quot;0&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ParticipantGain" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the participant gain, relating p0, articipant
|
|
index to sets of port numbers (refer to the DDSI 2.1 specification,
|
|
section 9.6.1, constant PG).</p><p>The default value is:
|
|
&quot;2&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="UnicastDataOffset" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the port number for unicast data traffic (refer
|
|
to the DDSI 2.1 specification, section 9.6.1, constant d3).</p><p>The
|
|
default value is: &quot;11&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="UnicastMetaOffset" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the port number for unicast meta traffic (refer
|
|
to the DDSI 2.1 specification, section 9.6.1, constant d1).</p><p>The
|
|
default value is: &quot;10&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="SPDPInterval" type="config:duration">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the interval between spontaneous transmissions
|
|
of participant discovery packets.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: ns, us, ms,
|
|
s, min, hr, day.</p><p>The default value is: &quot;30 s&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="SPDPMulticastAddress" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the multicast address that is used as the
|
|
destination for the participant discovery packets. In IPv4 mode the
|
|
default is the (standardised) 239.255.0.1, in IPv6 mode it becomes
|
|
ff02::ffff:239.255.0.1, which is a non-standardised link-local multicast
|
|
address.</p><p>The default value is: &quot;239.255.0.1&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="General">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The General element specifies overall Cyclone DDS service
|
|
settings.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element minOccurs="0" ref="config:AllowMulticast"/>
|
|
<xs:element minOccurs="0" ref="config:DontRoute"/>
|
|
<xs:element minOccurs="0" ref="config:EnableMulticastLoopback"/>
|
|
<xs:element minOccurs="0" ref="config:ExternalNetworkAddress"/>
|
|
<xs:element minOccurs="0" ref="config:ExternalNetworkMask"/>
|
|
<xs:element minOccurs="0" ref="config:FragmentSize"/>
|
|
<xs:element minOccurs="0" ref="config:MaxMessageSize"/>
|
|
<xs:element minOccurs="0" ref="config:MulticastRecvNetworkInterfaceAddresses"/>
|
|
<xs:element minOccurs="0" ref="config:MulticastTimeToLive"/>
|
|
<xs:element minOccurs="0" ref="config:NetworkInterfaceAddress"/>
|
|
<xs:element minOccurs="0" ref="config:PreferMulticast"/>
|
|
<xs:element minOccurs="0" ref="config:Transport"/>
|
|
<xs:element minOccurs="0" ref="config:UseIPv6"/>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="AllowMulticast">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls whether Cyclone DDS uses multicasts for data
|
|
traffic.</p>
|
|
|
|
<p>It is a comma-separated list of some of the following keywords:
|
|
"spdp", "asm", "ssm", or either of "false" or "true", or "default".</p>
|
|
|
|
<ul>
|
|
|
|
<li><i>spdp</i>: enables the use of ASM (any-source multicast) for
|
|
participant discovery, joining the multicast group on the discovery
|
|
socket, transmitting SPDP messages to this group, but never advertising
|
|
nor using any multicast address in any discovery message, thus forcing
|
|
unicast communications for all endpoint discovery and user data.</li>
|
|
|
|
<li><i>asm</i>: enables the use of ASM for all traffic, including
|
|
receiving SPDP but not transmitting SPDP messages via multicast</li>
|
|
|
|
<li><i>ssm</i>: enables the use of SSM (source-specific multicast) for
|
|
all non-SPDP traffic (if supported)</li>
|
|
|
|
</ul>
|
|
|
|
<p>When set to "false" all multicasting is disabled. The default, "true"
|
|
enables full use of multicasts. Listening for multicasts can be
|
|
controlled by General/MulticastRecvNetworkInterfaceAddresses.</p>
|
|
|
|
<p>"default" maps on spdp if the network is a WiFi network, on true if it
|
|
is a wired network</p><p>The default value is: &quot;default&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:pattern value="default|((false|spdp|asm|ssm|true)(,(false|spdp|asm|ssm|true))*)"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="DontRoute" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element allows setting the SO_DONTROUTE option for outgoing
|
|
packets, to bypass the local routing tables. This is generally useful
|
|
only when the routing tables cannot be trusted, which is highly
|
|
unusual.</p><p>The default value is: &quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="EnableMulticastLoopback" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies whether Cyclone DDS allows IP multicast packets
|
|
to be visible to all DDSI participants in the same node, including
|
|
itself. It must be "true" for intra-node multicast communications, but if
|
|
a node runs only a single Cyclone DDS service and does not host any other
|
|
DDSI-capable programs, it should be set to "false" for improved
|
|
performance.</p><p>The default value is: &quot;true&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ExternalNetworkAddress" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element allows explicitly overruling the network address Cyclone
|
|
DDS advertises in the discovery protocol, which by default is the address
|
|
of the preferred network interface (General/NetworkInterfaceAddress), to
|
|
allow Cyclone DDS to communicate across a Network Address Translation
|
|
(NAT) device.</p><p>The default value is: &quot;auto&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ExternalNetworkMask" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the network mask of the external network
|
|
address. This element is relevant only when an external network address
|
|
(General/ExternalNetworkAddress) is explicitly configured. In this case
|
|
locators received via the discovery protocol that are within the same
|
|
external subnet (as defined by this mask) will be translated to an
|
|
internal address by replacing the network portion of the external address
|
|
with the corresponding portion of the preferred network interface
|
|
address. This option is IPv4-only.</p><p>The default value is:
|
|
&quot;0.0.0.0&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="FragmentSize" type="config:memsize">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the size of DDSI sample fragments generated by
|
|
Cyclone DDS. Samples larger than FragmentSize are fragmented into
|
|
fragments of FragmentSize bytes each, except the last one, which may be
|
|
smaller. The DDSI spec mandates a minimum fragment size of 1025 bytes,
|
|
but Cyclone DDS will do whatever size is requested, accepting fragments
|
|
of which the size is at least the minimum of 1025 and FragmentSize.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: B (bytes), kB
|
|
& KiB (2<sup>10</sup> bytes), MB & MiB (2<sup>20</sup> bytes), GB & GiB
|
|
(2<sup>30</sup> bytes).</p><p>The default value is: &quot;1280
|
|
B&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MaxMessageSize" type="config:memsize">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the maximum size of the UDP payload that
|
|
Cyclone DDS will generate. Cyclone DDS will try to maintain this limit
|
|
within the bounds of the DDSI specification, which means that in some
|
|
cases (especially for very low values of MaxMessageSize) larger payloads
|
|
may sporadically be observed (currently up to 1192 B).</p>
|
|
|
|
<p>On some networks it may be necessary to set this item to keep the
|
|
packetsize below the MTU to prevent IP fragmentation. In those cases, it
|
|
is generally advisable to also consider reducing
|
|
Internal/FragmentSize.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: B (bytes), kB
|
|
& KiB (2<sup>10</sup> bytes), MB & MiB (2<sup>20</sup> bytes), GB & GiB
|
|
(2<sup>30</sup> bytes).</p><p>The default value is: &quot;4096
|
|
B&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MulticastRecvNetworkInterfaceAddresses" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies on which network interfaces Cyclone DDS listens
|
|
to multicasts. The following options are available:</p>
|
|
|
|
<ul>
|
|
|
|
<li><i>all</i>: listen for multicasts on all multicast-capable
|
|
interfaces; or</li>
|
|
|
|
<li><i>any</i>: listen for multicasts on the operating system default
|
|
interface; or</li>
|
|
|
|
<li><i>preferred</i>: listen for multicasts on the preferred interface
|
|
(General/NetworkInterfaceAddress); or</li>
|
|
|
|
<li><i>none</i>: does not listen for multicasts on any interface; or</li>
|
|
|
|
<li>a comma-separated list of network addresses: configures Cyclone DDS
|
|
to listen for multicasts on all of the listed addresses.</li>
|
|
|
|
</ul>
|
|
|
|
<p>If Cyclone DDS is in IPv6 mode and the address of the preferred
|
|
network interface is a link-local address, "all" is treated as a synonym
|
|
for "preferred" and a comma-separated list is treated as "preferred" if
|
|
it contains the preferred interface and as "none" if not.</p><p>The
|
|
default value is: &quot;preferred&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MulticastTimeToLive" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the time-to-live setting for outgoing multicast
|
|
packets.</p><p>The default value is: &quot;32&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="NetworkInterfaceAddress" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the preferred network interface for use by
|
|
Cyclone DDS. The preferred network interface determines the IP address
|
|
that Cyclone DDS advertises in the discovery protocol (but see also
|
|
General/ExternalNetworkAddress), and is also the only interface over
|
|
which multicasts are transmitted. The interface can be identified by its
|
|
IP address, network interface name or network portion of the address. If
|
|
the value "auto" is entered here, Cyclone DDS will select what it
|
|
considers the most suitable interface.</p><p>The default value is:
|
|
&quot;auto&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="PreferMulticast" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>When false (default) Cyclone DDS uses unicast for data whenever there
|
|
a single unicast suffices. Setting this to true makes it prefer
|
|
multicasting data, falling back to unicast only when no multicast address
|
|
is available.</p><p>The default value is: &quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Transport">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element allows selecting the transport to be used (udp, udp6,
|
|
tcp, tcp6, raweth)</p><p>The default value is: &quot;default&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="default"/>
|
|
<xs:enumeration value="udp"/>
|
|
<xs:enumeration value="udp6"/>
|
|
<xs:enumeration value="tcp"/>
|
|
<xs:enumeration value="tcp6"/>
|
|
<xs:enumeration value="raweth"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="UseIPv6">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>Deprecated (use Transport instead)</p><p>The default value is:
|
|
&quot;default&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="false"/>
|
|
<xs:enumeration value="true"/>
|
|
<xs:enumeration value="default"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="Internal">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The Internal elements deal with a variety of settings that evolving
|
|
and that are not necessarily fully supported. For the vast majority of
|
|
the Internal settings, the functionality per-se is supported, but the
|
|
right to change the way the options control the functionality is
|
|
reserved. This includes renaming or moving options.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element minOccurs="0" ref="config:AccelerateRexmitBlockSize"/>
|
|
<xs:element minOccurs="0" ref="config:AssumeMulticastCapable"/>
|
|
<xs:element minOccurs="0" ref="config:AutoReschedNackDelay"/>
|
|
<xs:element minOccurs="0" ref="config:BuiltinEndpointSet"/>
|
|
<xs:element minOccurs="0" ref="config:ControlTopic"/>
|
|
<xs:element minOccurs="0" ref="config:DDSI2DirectMaxThreads"/>
|
|
<xs:element minOccurs="0" ref="config:DefragReliableMaxSamples"/>
|
|
<xs:element minOccurs="0" ref="config:DefragUnreliableMaxSamples"/>
|
|
<xs:element minOccurs="0" ref="config:DeliveryQueueMaxSamples"/>
|
|
<xs:element minOccurs="0" ref="config:EnableExpensiveChecks"/>
|
|
<xs:element minOccurs="0" ref="config:GenerateKeyhash"/>
|
|
<xs:element minOccurs="0" ref="config:HeartbeatInterval"/>
|
|
<xs:element minOccurs="0" ref="config:LateAckMode"/>
|
|
<xs:element minOccurs="0" ref="config:LeaseDuration"/>
|
|
<xs:element minOccurs="0" ref="config:LivelinessMonitoring"/>
|
|
<xs:element minOccurs="0" ref="config:MaxParticipants"/>
|
|
<xs:element minOccurs="0" ref="config:MaxQueuedRexmitBytes"/>
|
|
<xs:element minOccurs="0" ref="config:MaxQueuedRexmitMessages"/>
|
|
<xs:element minOccurs="0" ref="config:MaxSampleSize"/>
|
|
<xs:element minOccurs="0" ref="config:MeasureHbToAckLatency"/>
|
|
<xs:element minOccurs="0" ref="config:MinimumSocketReceiveBufferSize"/>
|
|
<xs:element minOccurs="0" ref="config:MinimumSocketSendBufferSize"/>
|
|
<xs:element minOccurs="0" ref="config:MonitorPort"/>
|
|
<xs:element minOccurs="0" ref="config:MultipleReceiveThreads"/>
|
|
<xs:element minOccurs="0" ref="config:NackDelay"/>
|
|
<xs:element minOccurs="0" ref="config:PreEmptiveAckDelay"/>
|
|
<xs:element minOccurs="0" ref="config:PrimaryReorderMaxSamples"/>
|
|
<xs:element minOccurs="0" ref="config:PrioritizeRetransmit"/>
|
|
<xs:element minOccurs="0" ref="config:RediscoveryBlacklistDuration"/>
|
|
<xs:element minOccurs="0" ref="config:RetransmitMerging"/>
|
|
<xs:element minOccurs="0" ref="config:RetransmitMergingPeriod"/>
|
|
<xs:element minOccurs="0" ref="config:RetryOnRejectBestEffort"/>
|
|
<xs:element minOccurs="0" ref="config:SPDPResponseMaxDelay"/>
|
|
<xs:element minOccurs="0" ref="config:ScheduleTimeRounding"/>
|
|
<xs:element minOccurs="0" ref="config:SecondaryReorderMaxSamples"/>
|
|
<xs:element minOccurs="0" ref="config:SendAsync"/>
|
|
<xs:element minOccurs="0" ref="config:SquashParticipants"/>
|
|
<xs:element minOccurs="0" ref="config:SynchronousDeliveryLatencyBound"/>
|
|
<xs:element minOccurs="0" ref="config:SynchronousDeliveryPriorityThreshold"/>
|
|
<xs:element minOccurs="0" ref="config:Test"/>
|
|
<xs:element minOccurs="0" ref="config:UnicastResponseToSPDPMessages"/>
|
|
<xs:element minOccurs="0" ref="config:UseMulticastIfMreqn"/>
|
|
<xs:element minOccurs="0" ref="config:Watermarks"/>
|
|
<xs:element minOccurs="0" ref="config:WriteBatch"/>
|
|
<xs:element minOccurs="0" ref="config:WriterLingerDuration"/>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="AccelerateRexmitBlockSize" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>Proxy readers that are assumed to sill be retrieving historical data
|
|
get this many samples retransmitted when they NACK something, even if
|
|
some of these samples have sequence numbers outside the set covered by
|
|
the NACK.</p><p>The default value is: &quot;0&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="AssumeMulticastCapable" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls which network interfaces are assumed to be
|
|
capable of multicasting even when the interface flags returned by the
|
|
operating system state it is not (this provides a workaround for some
|
|
platforms). It is a comma-separated lists of patterns (with ? and *
|
|
wildcards) against which the interface names are matched.</p><p>The
|
|
default value is: &quot;&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="AutoReschedNackDelay" type="config:duration_inf">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This setting controls the interval with which a reader will continue
|
|
NACK'ing missing samples in the absence of a response from the writer, as
|
|
a protection mechanism against writers incorrectly stopping the sending
|
|
of HEARTBEAT messages.</p>
|
|
|
|
<p>Valid values are finite durations with an explicit unit or the keyword
|
|
'inf' for infinity. Recognised units: ns, us, ms, s, min, hr,
|
|
day.</p><p>The default value is: &quot;1 s&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="BuiltinEndpointSet">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls which participants will have which built-in
|
|
endpoints for the discovery and liveliness protocols. Valid values
|
|
are:</p>
|
|
|
|
<ul><li><i>full</i>: all participants have all endpoints;</li>
|
|
|
|
<li><i>writers</i>: all participants have the writers, but just one has
|
|
the readers;</li>
|
|
|
|
<li><i>minimal</i>: only one participant has built-in
|
|
endpoints.</li></ul>
|
|
|
|
<p>The default is <i>writers</i>, as this is thought to be compliant and
|
|
reasonably efficient. <i>Minimal</i> may or may not be compliant but is
|
|
most efficient, and <i>full</i> is inefficient but certain to be
|
|
compliant. See also Internal/ConservativeBuiltinReaderStartup.</p><p>The
|
|
default value is: &quot;writers&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="full"/>
|
|
<xs:enumeration value="writers"/>
|
|
<xs:enumeration value="minimal"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="ControlTopic">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The ControlTopic element allows configured whether Cyclone DDS
|
|
provides a special control interface via a predefined topic or not.<p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType/>
|
|
</xs:element>
|
|
<xs:element name="DDSI2DirectMaxThreads" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element sets the maximum number of extra threads for an
|
|
experimental, undocumented and unsupported direct mode.</p><p>The default
|
|
value is: &quot;1&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="DefragReliableMaxSamples" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element sets the maximum number of samples that can be
|
|
defragmented simultaneously for a reliable writer. This has to be large
|
|
enough to handle retransmissions of historical data in addition to new
|
|
samples.</p><p>The default value is: &quot;16&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="DefragUnreliableMaxSamples" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element sets the maximum number of samples that can be
|
|
defragmented simultaneously for a best-effort writers.</p><p>The default
|
|
value is: &quot;4&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="DeliveryQueueMaxSamples" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls the Maximum size of a delivery queue, expressed
|
|
in samples. Once a delivery queue is full, incoming samples destined for
|
|
that queue are dropped until space becomes available again.</p><p>The
|
|
default value is: &quot;256&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="EnableExpensiveChecks">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element enables expensive checks in builds with assertions
|
|
enabled and is ignored otherwise. Recognised categories are:</p>
|
|
|
|
<ul><li><i>whc</i>: writer history cache checking</li>
|
|
|
|
<li><i>rhc</i>: reader history cache checking</li>
|
|
|
|
<p>In addition, there is the keyword <i>all</i> that enables all
|
|
checks.</p><p>The default value is: &quot;&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:pattern value="((whc|rhc|all)(,(whc|rhc|all))*)|"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="GenerateKeyhash" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>When true, include keyhashes in outgoing data for topics with
|
|
keys.</p><p>The default value is: &quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="HeartbeatInterval">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This elemnents allows configuring the base interval for sending writer
|
|
heartbeats and the bounds within it can vary.</p>
|
|
|
|
<p>Valid values are finite durations with an explicit unit or the keyword
|
|
'inf' for infinity. Recognised units: ns, us, ms, s, min, hr,
|
|
day.</p><p>The default value is: &quot;100 ms&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="config:duration_inf">
|
|
<xs:attribute name="max" type="config:duration_inf">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This attribute sets the maximum interval for periodic heartbeats.</p>
|
|
|
|
<p>Valid values are finite durations with an explicit unit or the keyword
|
|
'inf' for infinity. Recognised units: ns, us, ms, s, min, hr,
|
|
day.</p><p>The default value is: &quot;8 s&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="min" type="config:duration_inf">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This attribute sets the minimum interval that must have passed since
|
|
the most recent heartbeat from a writer, before another asynchronous (not
|
|
directly related to writing) will be sent.</p>
|
|
|
|
<p>Valid values are finite durations with an explicit unit or the keyword
|
|
'inf' for infinity. Recognised units: ns, us, ms, s, min, hr,
|
|
day.</p><p>The default value is: &quot;5 ms&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="minsched" type="config:duration_inf">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This attribute sets the minimum interval for periodic heartbeats.
|
|
Other events may still cause heartbeats to go out.</p>
|
|
|
|
<p>Valid values are finite durations with an explicit unit or the keyword
|
|
'inf' for infinity. Recognised units: ns, us, ms, s, min, hr,
|
|
day.</p><p>The default value is: &quot;20 ms&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="LateAckMode" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>Ack a sample only when it has been delivered, instead of when
|
|
committed to delivering it.</p><p>The default value is:
|
|
&quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="LeaseDuration" type="config:duration">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This setting controls the default participant lease duration. <p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: ns, us, ms,
|
|
s, min, hr, day.</p><p>The default value is: &quot;10 s&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="LivelinessMonitoring">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls whether or not implementation should internally
|
|
monitor its own liveliness. If liveliness monitoring is enabled, stack
|
|
traces can be dumped automatically when some thread appears to have
|
|
stopped making progress.</p><p>The default value is:
|
|
&quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:boolean">
|
|
<xs:attribute name="Interval" type="config:duration">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls the interval at which to check whether threads
|
|
have been making progress.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: ns, us, ms,
|
|
s, min, hr, day.</p><p>The default value is: &quot;1s&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="StackTraces" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls whether or not to write stack traces to the
|
|
Cyclone DDS trace when a thread fails to make progress (on select
|
|
platforms only).</p><p>The default value is: &quot;true&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="MaxParticipants" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This elements configures the maximum number of DCPS domain
|
|
participants this Cyclone DDS instance is willing to service. 0 is
|
|
unlimited.</p><p>The default value is: &quot;0&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MaxQueuedRexmitBytes" type="config:memsize">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This setting limits the maximum number of bytes queued for
|
|
retransmission. The default value of 0 is unlimited unless an
|
|
AuxiliaryBandwidthLimit has been set, in which case it becomes NackDelay
|
|
* AuxiliaryBandwidthLimit. It must be large enough to contain the largest
|
|
sample that may need to be retransmitted.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: B (bytes), kB
|
|
& KiB (2<sup>10</sup> bytes), MB & MiB (2<sup>20</sup> bytes), GB & GiB
|
|
(2<sup>30</sup> bytes).</p><p>The default value is: &quot;50
|
|
kB&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MaxQueuedRexmitMessages" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This settings limits the maximum number of samples queued for
|
|
retransmission.</p><p>The default value is: &quot;200&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MaxSampleSize" type="config:memsize">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This setting controls the maximum (CDR) serialised size of samples
|
|
that Cyclone DDS will forward in either direction. Samples larger than
|
|
this are discarded with a warning.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: B (bytes), kB
|
|
& KiB (2<sup>10</sup> bytes), MB & MiB (2<sup>20</sup> bytes), GB & GiB
|
|
(2<sup>30</sup> bytes).</p><p>The default value is: &quot;2147483647
|
|
B&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MeasureHbToAckLatency" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element enables heartbeat-to-ack latency among Cyclone DDS
|
|
services by prepending timestamps to Heartbeat and AckNack messages and
|
|
calculating round trip times. This is non-standard behaviour. The
|
|
measured latencies are quite noisy and are currently not used
|
|
anywhere.</p><p>The default value is: &quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MinimumSocketReceiveBufferSize" type="config:memsize">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This setting controls the minimum size of socket receive buffers. The
|
|
operating system provides some size receive buffer upon creation of the
|
|
socket, this option can be used to increase the size of the buffer beyond
|
|
that initially provided by the operating system. If the buffer size
|
|
cannot be increased to the specified size, an error is reported.</p>
|
|
|
|
<p>The default setting is the word "default", which means Cyclone DDS
|
|
will attempt to increase the buffer size to 1MB, but will silently accept
|
|
a smaller buffer should that attempt fail.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: B (bytes), kB
|
|
& KiB (2<sup>10</sup> bytes), MB & MiB (2<sup>20</sup> bytes), GB & GiB
|
|
(2<sup>30</sup> bytes).</p><p>The default value is:
|
|
&quot;default&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MinimumSocketSendBufferSize" type="config:memsize">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This setting controls the minimum size of socket send buffers. This
|
|
setting can only increase the size of the send buffer, if the operating
|
|
system by default creates a larger buffer, it is left unchanged.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: B (bytes), kB
|
|
& KiB (2<sup>10</sup> bytes), MB & MiB (2<sup>20</sup> bytes), GB & GiB
|
|
(2<sup>30</sup> bytes).</p><p>The default value is: &quot;64
|
|
KiB&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MonitorPort" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element allows configuring a service that dumps a text
|
|
description of part the internal state to TCP clients. By default (-1),
|
|
this is disabled; specifying 0 means a kernel-allocated port is used; a
|
|
positive number is used as the TCP port number.</p><p>The default value
|
|
is: &quot;-1&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MultipleReceiveThreads">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls whether all traffic is handled by a single
|
|
receive thread or whether multiple receive threads may be used to improve
|
|
latency. Currently multiple receive threads are only used for
|
|
connectionless transport (e.g., UDP) and ManySocketsMode not set to
|
|
single (the default).</p><p>The default value is: &quot;true&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:boolean">
|
|
<xs:attribute name="maxretries" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>Receive threads dedicated to a single socket can only be triggered for
|
|
termination by sending a packet. Reception of any packet will do, so
|
|
termination failure due to packet loss is exceedingly unlikely, but to
|
|
eliminate all risks, it will retry as many times as specified by this
|
|
attribute before aborting.</p><p>The default value is:
|
|
&quot;4294967295&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="NackDelay" type="config:duration">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This setting controls the delay between receipt of a HEARTBEAT
|
|
indicating missing samples and a NACK (ignored when the HEARTBEAT
|
|
requires an answer). However, no NACK is sent if a NACK had been
|
|
scheduled already for a response earlier than the delay requests: then
|
|
that NACK will incorporate the latest information.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: ns, us, ms,
|
|
s, min, hr, day.</p><p>The default value is: &quot;10 ms&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="PreEmptiveAckDelay" type="config:duration">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This setting controls the delay between the discovering a remote
|
|
writer and sending a pre-emptive AckNack to discover the range of data
|
|
available.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: ns, us, ms,
|
|
s, min, hr, day.</p><p>The default value is: &quot;10 ms&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="PrimaryReorderMaxSamples" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element sets the maximum size in samples of a primary re-order
|
|
administration. Each proxy writer has one primary re-order administration
|
|
to buffer the packet flow in case some packets arrive out of order. Old
|
|
samples are forwarded to secondary re-order administrations associated
|
|
with readers in need of historical data.</p><p>The default value is:
|
|
&quot;128&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="PrioritizeRetransmit" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls whether retransmits are prioritized over new
|
|
data, speeding up recovery.</p><p>The default value is:
|
|
&quot;true&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="RediscoveryBlacklistDuration">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls for how long a remote participant that was
|
|
previously deleted will remain on a blacklist to prevent rediscovery,
|
|
giving the software on a node time to perform any cleanup actions it
|
|
needs to do. To some extent this delay is required internally by Cyclone
|
|
DDS, but in the default configuration with the 'enforce' attribute set to
|
|
false, Cyclone DDS will reallow rediscovery as soon as it has cleared its
|
|
internal administration. Setting it to too small a value may result in
|
|
the entry being pruned from the blacklist before Cyclone DDS is ready, it
|
|
is therefore recommended to set it to at least several seconds.</p>
|
|
|
|
<p>Valid values are finite durations with an explicit unit or the keyword
|
|
'inf' for infinity. Recognised units: ns, us, ms, s, min, hr,
|
|
day.</p><p>The default value is: &quot;10s&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="config:duration_inf">
|
|
<xs:attribute name="enforce" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This attribute controls whether the configured time during which
|
|
recently deleted participants will not be rediscovered (i.e., "black
|
|
listed") is enforced and following complete removal of the participant in
|
|
Cyclone DDS, or whether it can be rediscovered earlier provided all
|
|
traces of that participant have been removed already.</p><p>The default
|
|
value is: &quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="RetransmitMerging">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This elements controls the addressing and timing of retransmits.
|
|
Possible values are:</p>
|
|
|
|
<ul><li><i>never</i>: retransmit only to the NACK-ing reader;</li>
|
|
|
|
<li><i>adaptive</i>: attempt to combine retransmits needed for
|
|
reliability, but send historical (transient-local) data to the requesting
|
|
reader only;</li>
|
|
|
|
<li><i>always</i>: do not distinguish between different causes, always
|
|
try to merge.</li></ul>
|
|
|
|
<p>The default is <i>never</i>. See also
|
|
Internal/RetransmitMergingPeriod.</p><p>The default value is:
|
|
&quot;never&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="never"/>
|
|
<xs:enumeration value="adaptive"/>
|
|
<xs:enumeration value="always"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="RetransmitMergingPeriod" type="config:duration">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This setting determines the size of the time window in which a NACK of
|
|
some sample is ignored because a retransmit of that sample has been
|
|
multicasted too recently. This setting has no effect on unicasted
|
|
retransmits.</p>
|
|
|
|
<p>See also Internal/RetransmitMerging.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: ns, us, ms,
|
|
s, min, hr, day.</p><p>The default value is: &quot;5 ms&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="RetryOnRejectBestEffort" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>Whether or not to locally retry pushing a received best-effort sample
|
|
into the reader caches when resource limits are reached.</p><p>The
|
|
default value is: &quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="SPDPResponseMaxDelay" type="config:duration">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>Maximum pseudo-random delay in milliseconds between discovering a
|
|
remote participant and responding to it.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: ns, us, ms,
|
|
s, min, hr, day.</p><p>The default value is: &quot;0 ms&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ScheduleTimeRounding" type="config:duration">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This setting allows the timing of scheduled events to be rounded up so
|
|
that more events can be handled in a single cycle of the event queue. The
|
|
default is 0 and causes no rounding at all, i.e. are scheduled exactly,
|
|
whereas a value of 10ms would mean that events are rounded up to the
|
|
nearest 10 milliseconds.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: ns, us, ms,
|
|
s, min, hr, day.</p><p>The default value is: &quot;0 ms&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="SecondaryReorderMaxSamples" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element sets the maximum size in samples of a secondary re-order
|
|
administration. The secondary re-order administration is per reader in
|
|
need of historical data.</p><p>The default value is: &quot;128&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="SendAsync" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls whether the actual sending of packets occurs on
|
|
the same thread that prepares them, or is done asynchronously by another
|
|
thread.</p><p>The default value is: &quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="SquashParticipants" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls whether Cyclone DDS advertises all the domain
|
|
participants it serves in DDSI (when set to <i>false</i>), or rather only
|
|
one domain participant (the one corresponding to the Cyclone DDS process;
|
|
when set to <i>true</i>). In the latter case Cyclone DDS becomes the
|
|
virtual owner of all readers and writers of all domain participants,
|
|
dramatically reducing discovery traffic (a similar effect can be obtained
|
|
by setting Internal/BuiltinEndpointSet to "minimal" but with less loss of
|
|
information).</p><p>The default value is: &quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="SynchronousDeliveryLatencyBound" type="config:duration_inf">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls whether samples sent by a writer with QoS
|
|
settings transport_priority >= SynchronousDeliveryPriorityThreshold and a
|
|
latency_budget at most this element's value will be delivered
|
|
synchronously from the "recv" thread, all others will be delivered
|
|
asynchronously through delivery queues. This reduces latency at the
|
|
expense of aggregate bandwidth.</p>
|
|
|
|
<p>Valid values are finite durations with an explicit unit or the keyword
|
|
'inf' for infinity. Recognised units: ns, us, ms, s, min, hr,
|
|
day.</p><p>The default value is: &quot;inf&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="SynchronousDeliveryPriorityThreshold" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls whether samples sent by a writer with QoS
|
|
settings latency_budget <= SynchronousDeliveryLatencyBound and
|
|
transport_priority greater than or equal to this element's value will be
|
|
delivered synchronously from the "recv" thread, all others will be
|
|
delivered asynchronously through delivery queues. This reduces latency at
|
|
the expense of aggregate bandwidth.</p><p>The default value is:
|
|
&quot;0&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Test">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>Testing options.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element minOccurs="0" ref="config:XmitLossiness"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="XmitLossiness" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls the fraction of outgoing packets to drop,
|
|
specified as samples per thousand.</p><p>The default value is:
|
|
&quot;0&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="UnicastResponseToSPDPMessages" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls whether the response to a newly discovered
|
|
participant is sent as a unicasted SPDP packet, instead of rescheduling
|
|
the periodic multicasted one. There is no known benefit to setting this
|
|
to <i>false</i>.</p><p>The default value is: &quot;true&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="UseMulticastIfMreqn" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>Do not use.</p><p>The default value is: &quot;0&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Watermarks">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>Watermarks for flow-control.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element minOccurs="0" ref="config:WhcAdaptive"/>
|
|
<xs:element minOccurs="0" ref="config:WhcHigh"/>
|
|
<xs:element minOccurs="0" ref="config:WhcHighInit"/>
|
|
<xs:element minOccurs="0" ref="config:WhcLow"/>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="WhcAdaptive" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element controls whether Cyclone DDS will adapt the high-water
|
|
mark to current traffic conditions, based on retransmit requests and
|
|
transmit pressure.</p><p>The default value is: &quot;true&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="WhcHigh" type="config:memsize">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element sets the maximum allowed high-water mark for the Cyclone
|
|
DDS WHCs, expressed in bytes. A writer is suspended when the WHC reaches
|
|
this size.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: B (bytes), kB
|
|
& KiB (2<sup>10</sup> bytes), MB & MiB (2<sup>20</sup> bytes), GB & GiB
|
|
(2<sup>30</sup> bytes).</p><p>The default value is: &quot;100
|
|
kB&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="WhcHighInit" type="config:memsize">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element sets the initial level of the high-water mark for the
|
|
Cyclone DDS WHCs, expressed in bytes.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: B (bytes), kB
|
|
& KiB (2<sup>10</sup> bytes), MB & MiB (2<sup>20</sup> bytes), GB & GiB
|
|
(2<sup>30</sup> bytes).</p><p>The default value is: &quot;30
|
|
kB&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="WhcLow" type="config:memsize">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element sets the low-water mark for the Cyclone DDS WHCs,
|
|
expressed in bytes. A suspended writer resumes transmitting when its
|
|
Cyclone DDS WHC shrinks to this size.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: B (bytes), kB
|
|
& KiB (2<sup>10</sup> bytes), MB & MiB (2<sup>20</sup> bytes), GB & GiB
|
|
(2<sup>30</sup> bytes).</p><p>The default value is: &quot;1 kB&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="WriteBatch" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element enables the batching of write operations. By default each
|
|
write operation writes through the write cache and out onto the
|
|
transport. Enabling write batching causes multiple small write operations
|
|
to be aggregated within the write cache into a single larger write. This
|
|
gives greater throughput at the expense of latency. Currently there is no
|
|
mechanism for the write cache to automatically flush itself, so that if
|
|
write batching is enabled, the application may havee to use the
|
|
dds_write_flush function to ensure thta all samples are
|
|
written.</p><p>The default value is: &quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="WriterLingerDuration" type="config:duration">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This setting controls the maximum duration for which actual deletion
|
|
of a reliable writer with unacknowledged data in its history will be
|
|
postponed to provide proper reliable transmission.<p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: ns, us, ms,
|
|
s, min, hr, day.</p><p>The default value is: &quot;1 s&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Partitioning">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The Partitioning element specifies Cyclone DDS network partitions and
|
|
how DCPS partition/topic combinations are mapped onto the network
|
|
partitions.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element ref="config:IgnoredPartitions"/>
|
|
<xs:element ref="config:NetworkPartitions"/>
|
|
<xs:element ref="config:PartitionMappings"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="IgnoredPartitions">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The IgnoredPartitions element specifies DCPS partition/topic
|
|
combinations that are not distributed over the network.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element minOccurs="0" maxOccurs="unbounded" ref="config:IgnoredPartition"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="IgnoredPartition">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element can be used to prevent certain combinations of DCPS
|
|
partition and topic from being transmitted over the network. Cyclone DDS
|
|
will complete ignore readers and writers for which all DCPS partitions as
|
|
well as their topic is ignored, not even creating DDSI readers and
|
|
writers to mirror the DCPS ones.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:attribute name="DCPSPartitionTopic" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This attribute specifies a partition and a topic expression, separated
|
|
by a single '.', that are used to determine if a given partition and
|
|
topic will be ignored or not. The expressions may use the usual wildcards
|
|
'*' and '?'. Cyclone DDS will consider an wildcard DCPS partition to
|
|
match an expression iff there exists a string that satisfies both
|
|
expressions.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="NetworkPartitions">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The NetworkPartitions element specifies the Cyclone DDS network
|
|
partitions.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element minOccurs="0" maxOccurs="unbounded" ref="config:NetworkPartition"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="NetworkPartition">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element defines a Cyclone DDS network partition.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:attribute name="Address" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This attribute specifies the multicast addresses associated with the
|
|
network partition as a comma-separated list. Readers matching this
|
|
network partition (cf. Partitioning/PartitionMappings) will listen for
|
|
multicasts on all of these addresses and advertise them in the discovery
|
|
protocol. The writers will select the most suitable address from the
|
|
addresses advertised by the readers.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="Connected" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This attribute is a placeholder.</p><p>The default value is:
|
|
&quot;true&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="Name" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This attribute specifies the name of this Cyclone DDS network
|
|
partition. Two network partitions cannot have the same name.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="PartitionMappings">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The PartitionMappings element specifies the mapping from DCPS
|
|
partition/topic combinations to Cyclone DDS network partitions.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element minOccurs="0" maxOccurs="unbounded" ref="config:PartitionMapping"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="PartitionMapping">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element defines a mapping from a DCPS partition/topic combination
|
|
to a Cyclone DDS network partition. This allows partitioning data flows
|
|
by using special multicast addresses for part of the data and possibly
|
|
also encrypting the data flow.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:attribute name="DCPSPartitionTopic" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This attribute specifies a partition and a topic expression, separated
|
|
by a single '.', that are used to determine if a given partition and
|
|
topic maps to the Cyclone DDS network partition named by the
|
|
NetworkPartition attribute in this PartitionMapping element. The
|
|
expressions may use the usual wildcards '*' and '?'. Cyclone DDS will
|
|
consider a wildcard DCPS partition to match an expression if there exists
|
|
a string that satisfies both expressions.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="NetworkPartition" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This attribute specifies which Cyclone DDS network partition is to be
|
|
used for DCPS partition/topic combinations matching the
|
|
DCPSPartitionTopic attribute within this PartitionMapping element.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="SSL">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The SSL element allows specifying various parameters related to using
|
|
SSL/TLS for DDSI over TCP.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element minOccurs="0" ref="config:CertificateVerification"/>
|
|
<xs:element minOccurs="0" ref="config:Ciphers"/>
|
|
<xs:element minOccurs="0" name="Enable" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This enables SSL/TLS for TCP.</p><p>The default value is:
|
|
&quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element minOccurs="0" ref="config:EntropyFile"/>
|
|
<xs:element minOccurs="0" ref="config:KeyPassphrase"/>
|
|
<xs:element minOccurs="0" ref="config:KeystoreFile"/>
|
|
<xs:element minOccurs="0" ref="config:MinimumTLSVersion"/>
|
|
<xs:element minOccurs="0" ref="config:SelfSignedCertificates"/>
|
|
<xs:element minOccurs="0" ref="config:VerifyClient"/>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="CertificateVerification" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>If disabled this allows SSL connections to occur even if an X509
|
|
certificate fails verification.</p><p>The default value is:
|
|
&quot;true&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Ciphers" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The set of ciphers used by SSL/TLS</p><p>The default value is:
|
|
&quot;ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="EntropyFile" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The SSL/TLS random entropy file name.</p><p>The default value is:
|
|
&quot;&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="KeyPassphrase" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The SSL/TLS key pass phrase for encrypted keys.</p><p>The default
|
|
value is: &quot;secret&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="KeystoreFile" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The SSL/TLS key and certificate store file name. The keystore must be
|
|
in PEM format.</p><p>The default value is: &quot;keystore&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="MinimumTLSVersion" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The minimum TLS version that may be negotiated, valid values are 1.2
|
|
and 1.3.</p><p>The default value is: &quot;1.3&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="SelfSignedCertificates" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This enables the use of self signed X509 certificates.</p><p>The
|
|
default value is: &quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="VerifyClient" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This enables an SSL server checking the X509 certificate of a
|
|
connecting client.</p><p>The default value is: &quot;true&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Sizing">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The Sizing element specifies a variety of configuration settings
|
|
dealing with expected system sizes, buffer sizes, &c.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element minOccurs="0" ref="config:ReceiveBufferChunkSize"/>
|
|
<xs:element minOccurs="0" ref="config:ReceiveBufferSize"/>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="ReceiveBufferChunkSize" type="config:memsize">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the size of one allocation unit in the receive
|
|
buffer. Must be greater than the maximum packet size by a modest amount
|
|
(too large packets are dropped). Each allocation is shrunk immediately
|
|
after processing a message, or freed straightaway.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: B (bytes), kB
|
|
& KiB (2<sup>10</sup> bytes), MB & MiB (2<sup>20</sup> bytes), GB & GiB
|
|
(2<sup>30</sup> bytes).</p><p>The default value is: &quot;128
|
|
KiB&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ReceiveBufferSize" type="config:memsize">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element sets the size of a single receive buffer. Many receive
|
|
buffers may be needed. The minimum workable size a little bit larger than
|
|
Sizing/ReceiveBufferChunkSize, and the value used is taken as the
|
|
configured value and the actual minimum workable size.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: B (bytes), kB
|
|
& KiB (2<sup>10</sup> bytes), MB & MiB (2<sup>20</sup> bytes), GB & GiB
|
|
(2<sup>30</sup> bytes).</p><p>The default value is: &quot;1
|
|
MiB&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="TCP">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The TCP element allows specifying various parameters related to
|
|
running DDSI over TCP.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element minOccurs="0" ref="config:AlwaysUsePeeraddrForUnicast"/>
|
|
<xs:element minOccurs="0" name="Enable">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element enables the optional TCP transport - deprecated, use
|
|
General/Transport instead.</p><p>The default value is:
|
|
&quot;default&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="false"/>
|
|
<xs:enumeration value="true"/>
|
|
<xs:enumeration value="default"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element minOccurs="0" ref="config:NoDelay"/>
|
|
<xs:element minOccurs="0" ref="config:Port"/>
|
|
<xs:element minOccurs="0" ref="config:ReadTimeout"/>
|
|
<xs:element minOccurs="0" ref="config:WriteTimeout"/>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="AlwaysUsePeeraddrForUnicast" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>Setting this to true means the unicast addresses in SPDP packets will
|
|
be ignored and the peer address from the TCP connection will be used
|
|
instead. This may help work around incorrectly advertised addresses when
|
|
using TCP.</p><p>The default value is: &quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="NoDelay" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element enables the TCP_NODELAY socket option, preventing
|
|
multiple DDSI messages being sent in the same TCP request. Setting this
|
|
option typically optimises latency over throughput.</p><p>The default
|
|
value is: &quot;true&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Port" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the TCP port number on which Cyclone DDS
|
|
accepts connections. If the port is set it is used in entity locators,
|
|
published with DDSI discovery. Dynamically allocated if zero. Disabled if
|
|
-1 or not configured. If disabled other DDSI services will not be able to
|
|
establish connections with the service, the service can only communicate
|
|
by establishing connections to other services.</p><p>The default value
|
|
is: &quot;-1&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ReadTimeout" type="config:duration">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the timeout for blocking TCP read operations.
|
|
If this timeout expires then the connection is closed.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: ns, us, ms,
|
|
s, min, hr, day.</p><p>The default value is: &quot;2 s&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="WriteTimeout" type="config:duration">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the timeout for blocking TCP write operations.
|
|
If this timeout expires then the connection is closed.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: ns, us, ms,
|
|
s, min, hr, day.</p><p>The default value is: &quot;2 s&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="ThreadPool">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The ThreadPool element allows specifying various parameters related to
|
|
using a thread pool to send DDSI messages to multiple unicast addresses
|
|
(TCP or UDP).</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element minOccurs="0" name="Enable" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element enables the optional thread pool.</p><p>The default value
|
|
is: &quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element minOccurs="0" ref="config:ThreadMax"/>
|
|
<xs:element minOccurs="0" name="Threads" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This elements configures the initial number of threads in the thread
|
|
pool.</p><p>The default value is: &quot;4&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="ThreadMax" type="xs:integer">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This elements configures the maximum number of threads in the thread
|
|
pool.</p><p>The default value is: &quot;8&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Thread">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element is used to set thread properties.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element minOccurs="0" ref="config:Scheduling"/>
|
|
<xs:element minOccurs="0" ref="config:StackSize"/>
|
|
</xs:all>
|
|
<xs:attribute name="Name" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The Name of the thread for which properties are being set. The
|
|
following threads exist:</p>
|
|
|
|
<ul><li><i>gc</i>: garbage collector thread involved in deleting
|
|
entities;</li>
|
|
|
|
<li><i>recv</i>: receive thread, taking data from the network and running
|
|
the protocol state machine;</li>
|
|
|
|
<li><i>dq.builtins</i>: delivery thread for DDSI-builtin data, primarily
|
|
for discovery;</li>
|
|
|
|
<li><i>lease</i>: DDSI liveliness monitoring;</li>
|
|
|
|
<li><i>tev</i>: general timed-event handling, retransmits and
|
|
discovery;</li>
|
|
|
|
<li><i>xmit.CHAN</i>: transmit thread for channel CHAN;</li>
|
|
|
|
<li><i>dq.CHAN</i>: delivery thread for channel CHAN;</li>
|
|
|
|
<li><i>tev.CHAN</i>: timed-even thread for channel CHAN.</li></ul></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Scheduling">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element configures the scheduling properties of the thread.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element minOccurs="0" ref="config:Class"/>
|
|
<xs:element minOccurs="0" ref="config:Priority"/>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Class">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the thread scheduling class (<i>realtime</i>,
|
|
<i>timeshare</i> or <i>default</i>). The user may need special privileges
|
|
from the underlying operating system to be able to assign some of the
|
|
privileged scheduling classes.</p><p>The default value is:
|
|
&quot;default&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="realtime"/>
|
|
<xs:enumeration value="timeshare"/>
|
|
<xs:enumeration value="default"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="Priority" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element specifies the thread priority (decimal integer or
|
|
<i>default</i>). Only priorities that are supported by the underlying
|
|
operating system can be assigned to this element. The user may need
|
|
special privileges from the underlying operating system to be able to
|
|
assign some of the privileged priorities.</p><p>The default value is:
|
|
&quot;default&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="StackSize" type="config:memsize">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element configures the stack size for this thread. The default
|
|
value <i>default</i> leaves the stack size at the operating system
|
|
default.</p>
|
|
|
|
<p>The unit must be specified explicitly. Recognised units: B (bytes), kB
|
|
& KiB (2<sup>10</sup> bytes), MB & MiB (2<sup>20</sup> bytes), GB & GiB
|
|
(2<sup>30</sup> bytes).</p><p>The default value is:
|
|
&quot;default&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Tracing">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>The Tracing element controls the amount and type of information that
|
|
is written into the tracing log by the DDSI service. This is useful to
|
|
track the DDSI service during application development.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:complexType>
|
|
<xs:all>
|
|
<xs:element minOccurs="0" ref="config:AppendToFile"/>
|
|
<xs:element minOccurs="0" ref="config:Category"/>
|
|
<xs:element minOccurs="0" ref="config:OutputFile"/>
|
|
<xs:element minOccurs="0" ref="config:PacketCaptureFile"/>
|
|
<xs:element minOccurs="0" ref="config:Verbosity"/>
|
|
</xs:all>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="AppendToFile" type="xs:boolean">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This option specifies whether the output is to be appended to an
|
|
existing log file. The default is to create a new log file each time,
|
|
which is generally the best option if a detailed log is
|
|
generated.</p><p>The default value is: &quot;false&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Category">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element enables individual logging categories. These are enabled
|
|
in addition to those enabled by Tracing/Verbosity. Recognised categories
|
|
are:</p>
|
|
|
|
<ul><li><i>fatal</i>: all fatal errors, errors causing immediate
|
|
termination</li>
|
|
|
|
<li><i>error</i>: failures probably impacting correctness but not
|
|
necessarily causing immediate termination</li>
|
|
|
|
<li><i>warning</i>: abnormal situations that will likely not impact
|
|
correctness</li>
|
|
|
|
<li><i>config</i>: full dump of the configuration</li>
|
|
|
|
<li><i>info</i>: general informational notices</li>
|
|
|
|
<li><i>discovery</i>: all discovery activity</li>
|
|
|
|
<li><i>data</i>: include data content of samples in traces</li>
|
|
|
|
<li><i>radmin</i>: receive buffer administration</li>
|
|
|
|
<li><i>timing</i>: periodic reporting of CPU loads per thread</li>
|
|
|
|
<li><i>traffic</i>: periodic reporting of total outgoing data</li>
|
|
|
|
<li><i>whc</i>: tracing of writer history cache changes</li>
|
|
|
|
<li><i>tcp</i>: tracing of TCP-specific activity</li>
|
|
|
|
<li><i>topic</i>: tracing of topic definitions</li>
|
|
|
|
<li>>i>plist</i>: tracing of discovery parameter list interpretation</li>
|
|
</ul>
|
|
|
|
<p>In addition, there is the keyword <i>trace</i> that enables all but
|
|
<i>radmin</i>, <i>topic</i>, <i>plist</i> and <i>whc</i></p>.
|
|
|
|
<p>The categorisation of tracing output is incomplete and hence most of
|
|
the verbosity levels and categories are not of much use in the current
|
|
release. This is an ongoing process and here we describe the target
|
|
situation rather than the current situation. Currently, the most useful
|
|
is <i>trace</i>.</p><p>The default value is: &quot;&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:pattern value="((fatal|error|warning|info|config|discovery|data|radmin|timing|traffic|topic|tcp|plist|whc|throttle|rhc|content|trace)(,(fatal|error|warning|info|config|discovery|data|radmin|timing|traffic|topic|tcp|plist|whc|throttle|rhc|content|trace))*)|"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:element name="OutputFile" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This option specifies where the logging is printed to. Note that
|
|
<i>stdout</i> and <i>stderr</i> are treated as special values,
|
|
representing "standard out" and "standard error" respectively. No file is
|
|
created unless logging categories are enabled using the Tracing/Verbosity
|
|
or Tracing/EnabledCategory settings.</p><p>The default value is:
|
|
&quot;cyclonedds.log&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="PacketCaptureFile" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This option specifies the file to which received and sent packets will
|
|
be logged in the "pcap" format suitable for analysis using common
|
|
networking tools, such as WireShark. IP and UDP headers are ficitious, in
|
|
particular the destination address of received packets. The TTL may be
|
|
used to distinguish between sent and received packets: it is 255 for sent
|
|
packets and 128 for received ones. Currently IPv4 only.</p><p>The default
|
|
value is: &quot;&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<xs:element name="Verbosity">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
<p>This element enables standard groups of categories, based on a desired
|
|
verbosity level. This is in addition to the categories enabled by the
|
|
Tracing/Category setting. Recognised verbosity levels and the categories
|
|
they map to are:</p>
|
|
|
|
<ul><li><i>none</i>: no Cyclone DDS log</li>
|
|
|
|
<li><i>severe</i>: error and fatal</li>
|
|
|
|
<li><i>warning</i>: <i>severe</i> + warning</li>
|
|
|
|
<li><i>info</i>: <i>warning</i> + info</li>
|
|
|
|
<li><i>config</i>: <i>info</i> + config</li>
|
|
|
|
<li><i>fine</i>: <i>config</i> + discovery</li>
|
|
|
|
<li><i>finer</i>: <i>fine</i> + traffic and timing</li>
|
|
|
|
<li><i>finest</i>: <i>finer</i> + trace</li></ul>
|
|
|
|
<p>While <i>none</i> prevents any message from being written to a Cyclone
|
|
DDS log file.</p>
|
|
|
|
<p>The categorisation of tracing output is incomplete and hence most of
|
|
the verbosity levels and categories are not of much use in the current
|
|
release. This is an ongoing process and here we describe the target
|
|
situation rather than the current situation. Currently, the most useful
|
|
verbosity levels are <i>config</i>, <i>fine</i> and
|
|
<i>finest</i>.</p><p>The default value is: &quot;none&quot;.</p></xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="finest"/>
|
|
<xs:enumeration value="finer"/>
|
|
<xs:enumeration value="fine"/>
|
|
<xs:enumeration value="config"/>
|
|
<xs:enumeration value="info"/>
|
|
<xs:enumeration value="warning"/>
|
|
<xs:enumeration value="severe"/>
|
|
<xs:enumeration value="none"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:element>
|
|
<xs:simpleType name="bandwidth">
|
|
<xs:restriction base="xs:token">
|
|
<xs:pattern value="0|(\d+(\.\d*)?([Ee][\-+]?\d+)?|\.\d+([Ee][\-+]?\d+)?) *([kMG]i?)?[Bb][p/]s"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="duration">
|
|
<xs:restriction base="xs:token">
|
|
<xs:pattern value="0|(\d+(\.\d*)?([Ee][\-+]?\d+)?|\.\d+([Ee][\-+]?\d+)?) *([num]?s|min|hr|day)"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="duration_inf">
|
|
<xs:restriction base="xs:token">
|
|
<xs:pattern value="inf|0|(\d+(\.\d*)?([Ee][\-+]?\d+)?|\.\d+([Ee][\-+]?\d+)?) *([num]?s|min|hr|day)"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="memsize">
|
|
<xs:restriction base="xs:token">
|
|
<xs:pattern value="0|(\d+(\.\d*)?([Ee][\-+]?\d+)?|\.\d+([Ee][\-+]?\d+)?) *([kMG]i?)?B"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:schema>
|