1508 lines
66 KiB
Text
1508 lines
66 KiB
Text
![]() |
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
|
||
|
grammar {
|
||
|
start =
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
CycloneDDS configuration""" ] ]
|
||
|
element CycloneDDS {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<p>The General element specifying Domain related settings.</p>""" ] ]
|
||
|
element Domain {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<p>Domain id this configuration applies to, or "any" if it applies to all
|
||
|
domain ids.</p><p>The default value is: "any".</p>""" ] ]
|
||
|
attribute Id {
|
||
|
text
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This element is used to group a set of channels. The channels are
|
||
|
independent data paths through Cyclone DDS and by using separate threads
|
||
|
and setting their priorities appropriately, chanenls can be used to map
|
||
|
transport priorities to operating system scheduler priorities, ensuring
|
||
|
system-wide end-to-end priority preservation.</p>""" ] ]
|
||
|
element Channels {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<p>This element defines a channel.</p>""" ] ]
|
||
|
element Channel {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<p>This attribute specifies name of this channel. The name should
|
||
|
uniquely identify the channel.</p>""" ] ]
|
||
|
attribute Name {
|
||
|
text
|
||
|
}
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This attribute sets the transport priority threshold for the channel.
|
||
|
Each DCPS data writer has a "transport_priority" QoS and this QoS is used
|
||
|
to select a channel for use by this writer. The selected channel is the
|
||
|
one with the largest threshold not greater than the writer's transport
|
||
|
priority, and if no such channel exists, the channel with the lowest
|
||
|
threshold.</p><p>The default value is: "0".</p>""" ] ]
|
||
|
attribute TransportPriority {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This element specifies the maximum transmit rate of auxiliary traffic
|
||
|
on this channel (e.g. retransmits, heartbeats, etc). Bandwidth limiting
|
||
|
uses a leaky bucket scheme. The default value "inf" means Cyclone DDS
|
||
|
imposes no limitation, the underlying operating system and hardware will
|
||
|
likely limit the maimum transmit rate.</p>
|
||
|
|
||
|
<p>The unit must be specified explicitly. Recognised units: <i>X</i>b/s,
|
||
|
<i>X</i>bps for bits/s or <i>X</i>B/s, <i>X</i>Bps for bytes/s; where
|
||
|
<i>X</i> is an optional prefix: k for 10<sup>3</sup>, Ki for
|
||
|
2<sup>10</sup>, M for 10<sup>6</sup>, Mi for 2<sup>20</sup>, G for
|
||
|
10<sup>9</sup>, Gi for 2<sup>30</sup>.</p><p>The default value is:
|
||
|
"inf".</p>""" ] ]
|
||
|
element AuxiliaryBandwidthLimit {
|
||
|
bandwidth
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This element specifies the maximum transmit rate of new samples and
|
||
|
directly related data, for this channel. Bandwidth limiting uses a leaky
|
||
|
bucket scheme. The default value "inf" means Cyclone DDS imposes no
|
||
|
limitation, the underlying operating system and hardware will likely
|
||
|
limit the maimum transmit rate.</p>
|
||
|
|
||
|
<p>The unit must be specified explicitly. Recognised units: <i>X</i>b/s,
|
||
|
<i>X</i>bps for bits/s or <i>X</i>B/s, <i>X</i>Bps for bytes/s; where
|
||
|
<i>X</i> is an optional prefix: k for 10<sup>3</sup>, Ki for
|
||
|
2<sup>10</sup>, M for 10<sup>6</sup>, Mi for 2<sup>20</sup>, G for
|
||
|
10<sup>9</sup>, Gi for 2<sup>30</sup>.</p><p>The default value is:
|
||
|
"inf".</p>""" ] ]
|
||
|
element DataBandwidthLimit {
|
||
|
bandwidth
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This element describes the DiffServ setting the channel will apply to
|
||
|
the networking messages. This parameter determines the value of the
|
||
|
diffserv field of the IP version 4 packets sent on this channel which
|
||
|
allows QoS setting to be applied to the network traffic send on this
|
||
|
channel.<br/>
|
||
|
|
||
|
Windows platform support for setting the diffserv field is dependent on
|
||
|
the OS version.<br/>
|
||
|
|
||
|
For Windows versions XP SP2 and 2003 to use the diffserv field the
|
||
|
following parameter should be added to the register:<br/><br>
|
||
|
|
||
|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\DisableUserTOSSetting<br/><br/>
|
||
|
|
||
|
The type of this parameter is a DWORD and its value should be set to 0 to
|
||
|
allow setting of the diffserv field.<br/><br/>
|
||
|
|
||
|
For Windows version 7 or higher a new API (qWAVE) has been introduced.
|
||
|
For these platforms the specified diffserv value is mapped to one of the
|
||
|
support traffic types.
|
||
|
|
||
|
The mapping is as follows: 1-8 background traffic; 9-40 excellent
|
||
|
traffic; 41-55 audio/video traffic; 56 voice traffic; 57-63 control
|
||
|
traffic.
|
||
|
|
||
|
When an application is run without Administrative priveleges then only
|
||
|
the diffserv value of 0, 8, 40 or 56 is allowed.</p><p>The default value
|
||
|
is: "0".</p>""" ] ]
|
||
|
element DiffServField {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
}*
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>The Compatibility elements allows specifying various settings related
|
||
|
to compatability with standards and with other DDSI implementations.</p>""" ] ]
|
||
|
element Compatibility {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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: "false".</p>""" ] ]
|
||
|
element AssumeRtiHasPmdEndpoints {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "false".</p>""" ] ]
|
||
|
element ExplicitlyPublishQosSetToDefault {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "single".</p>""" ] ]
|
||
|
element ManySocketsMode {
|
||
|
"false"|"true"|"single"|"none"|"many"
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"lax".</p>""" ] ]
|
||
|
element StandardsConformance {
|
||
|
"lax"|"strict"|"pedantic"
|
||
|
}?
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>The Discovery element allows specifying various parameters related to
|
||
|
the discovery of peers.</p>""" ] ]
|
||
|
element Discovery {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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: "30 s".</p>""" ] ]
|
||
|
element DSGracePeriod {
|
||
|
duration_inf
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"auto".</p>""" ] ]
|
||
|
element DefaultMulticastAddress {
|
||
|
text
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>Do not use.</p><p>The default value is: "true".</p>""" ] ]
|
||
|
element EnableTopicDiscovery {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"9".</p>""" ] ]
|
||
|
element MaxAutoParticipantIndex {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"none".</p>""" ] ]
|
||
|
element ParticipantIndex {
|
||
|
text
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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>""" ] ]
|
||
|
element Peers {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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>""" ] ]
|
||
|
element Group {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<p>This element statically configures an addresses for discovery.</p>""" ] ]
|
||
|
element Peer {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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>""" ] ]
|
||
|
attribute Address {
|
||
|
text
|
||
|
}
|
||
|
}*
|
||
|
}*
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This element statically configures an addresses for discovery.</p>""" ] ]
|
||
|
element Peer {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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>""" ] ]
|
||
|
attribute Address {
|
||
|
text
|
||
|
}
|
||
|
}*
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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>""" ] ]
|
||
|
element Ports {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"7400".</p>""" ] ]
|
||
|
element Base {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "250".</p>""" ] ]
|
||
|
element DomainGain {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This element specifies the port number for multicast meta traffic
|
||
|
(refer to the DDSI 2.1 specification, section 9.6.1, constant
|
||
|
d2).</p><p>The default value is: "1".</p>""" ] ]
|
||
|
element MulticastDataOffset {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "0".</p>""" ] ]
|
||
|
element MulticastMetaOffset {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"2".</p>""" ] ]
|
||
|
element ParticipantGain {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This element specifies the port number for unicast meta traffic (refer
|
||
|
to the DDSI 2.1 specification, section 9.6.1, constant d3).</p><p>The
|
||
|
default value is: "11".</p>""" ] ]
|
||
|
element UnicastDataOffset {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "10".</p>""" ] ]
|
||
|
element UnicastMetaOffset {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "30 s".</p>""" ] ]
|
||
|
element SPDPInterval {
|
||
|
duration
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "239.255.0.1".</p>""" ] ]
|
||
|
element SPDPMulticastAddress {
|
||
|
text
|
||
|
}?
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>The General element specifies overall Cyclone DDS service
|
||
|
settings.</p>""" ] ]
|
||
|
element General {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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: "default".</p>""" ] ]
|
||
|
element AllowMulticast {
|
||
|
xsd:token { pattern = "default|((false|spdp|asm|ssm|true)(,(false|spdp|asm|ssm|true))*)" }
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "false".</p>""" ] ]
|
||
|
element DontRoute {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "true".</p>""" ] ]
|
||
|
element EnableMulticastLoopback {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "auto".</p>""" ] ]
|
||
|
element ExternalNetworkAddress {
|
||
|
text
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"0.0.0.0".</p>""" ] ]
|
||
|
element ExternalNetworkMask {
|
||
|
text
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "1280
|
||
|
B".</p>""" ] ]
|
||
|
element FragmentSize {
|
||
|
memsize
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "4096
|
||
|
B".</p>""" ] ]
|
||
|
element MaxMessageSize {
|
||
|
memsize
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "preferred".</p>""" ] ]
|
||
|
element MulticastRecvNetworkInterfaceAddresses {
|
||
|
text
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This element specifies the time-to-live setting for outgoing multicast
|
||
|
packets.</p><p>The default value is: "32".</p>""" ] ]
|
||
|
element MulticastTimeToLive {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"auto".</p>""" ] ]
|
||
|
element NetworkInterfaceAddress {
|
||
|
text
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "false".</p>""" ] ]
|
||
|
element PreferMulticast {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This element allows selecting the transport to be used (udp, udp6,
|
||
|
tcp, tcp6, raweth)</p><p>The default value is: "default".</p>""" ] ]
|
||
|
element Transport {
|
||
|
"default"|"udp"|"udp6"|"tcp"|"tcp6"|"raweth"
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>Deprecated (use Transport instead)</p><p>The default value is:
|
||
|
"default".</p>""" ] ]
|
||
|
element UseIPv6 {
|
||
|
"false"|"true"|"default"
|
||
|
}?
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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>""" ] ]
|
||
|
element Internal {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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: "0".</p>""" ] ]
|
||
|
element AccelerateRexmitBlockSize {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "".</p>""" ] ]
|
||
|
element AssumeMulticastCapable {
|
||
|
text
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "1 s".</p>""" ] ]
|
||
|
element AutoReschedNackDelay {
|
||
|
duration_inf
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This element specifies the maximum transmit rate of auxiliary traffic
|
||
|
not bound to a specific channel, such as discovery traffic, as well as
|
||
|
auxiliary traffic related to a certain channel if that channel has
|
||
|
elected to share this global AuxiliaryBandwidthLimit. Bandwidth limiting
|
||
|
uses a leaky bucket scheme. The default value "inf" means Cyclone DDS
|
||
|
imposes no limitation, the underlying operating system and hardware will
|
||
|
likely limit the maimum transmit rate.</p>
|
||
|
|
||
|
<p>The unit must be specified explicitly. Recognised units: <i>X</i>b/s,
|
||
|
<i>X</i>bps for bits/s or <i>X</i>B/s, <i>X</i>Bps for bytes/s; where
|
||
|
<i>X</i> is an optional prefix: k for 10<sup>3</sup>, Ki for
|
||
|
2<sup>10</sup>, M for 10<sup>6</sup>, Mi for 2<sup>20</sup>, G for
|
||
|
10<sup>9</sup>, Gi for 2<sup>30</sup>.</p><p>The default value is:
|
||
|
"inf".</p>""" ] ]
|
||
|
element AuxiliaryBandwidthLimit {
|
||
|
bandwidth
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "writers".</p>""" ] ]
|
||
|
element BuiltinEndpointSet {
|
||
|
"full"|"writers"|"minimal"
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>The ControlTopic element allows configured whether Cyclone DDS
|
||
|
provides a special control interface via a predefined topic or not.<p>""" ] ]
|
||
|
element ControlTopic {
|
||
|
empty
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This element sets the maximum number of extra threads for an
|
||
|
experimental, undocumented and unsupported direct mode.</p><p>The default
|
||
|
value is: "1".</p>""" ] ]
|
||
|
element DDSI2DirectMaxThreads {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "16".</p>""" ] ]
|
||
|
element DefragReliableMaxSamples {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "4".</p>""" ] ]
|
||
|
element DefragUnreliableMaxSamples {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "256".</p>""" ] ]
|
||
|
element DeliveryQueueMaxSamples {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "".</p>""" ] ]
|
||
|
element EnableExpensiveChecks {
|
||
|
xsd:token { pattern = "((whc|rhc|all)(,(whc|rhc|all))*)|" }
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>When true, include keyhashes in outgoing data for topics with
|
||
|
keys.</p><p>The default value is: "false".</p>""" ] ]
|
||
|
element GenerateKeyhash {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "100 ms".</p>""" ] ]
|
||
|
element HeartbeatInterval {
|
||
|
duration_inf
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>Ack a sample only when it has been delivered, instead of when
|
||
|
committed to delivering it.</p><p>The default value is:
|
||
|
"false".</p>""" ] ]
|
||
|
element LateAckMode {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "10 s".</p>""" ] ]
|
||
|
element LeaseDuration {
|
||
|
duration
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"false".</p>""" ] ]
|
||
|
element LivelinessMonitoring {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "0".</p>""" ] ]
|
||
|
element MaxParticipants {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "50
|
||
|
kB".</p>""" ] ]
|
||
|
element MaxQueuedRexmitBytes {
|
||
|
memsize
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This settings limits the maximum number of samples queued for
|
||
|
retransmission.</p><p>The default value is: "200".</p>""" ] ]
|
||
|
element MaxQueuedRexmitMessages {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "2147483647
|
||
|
B".</p>""" ] ]
|
||
|
element MaxSampleSize {
|
||
|
memsize
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "false".</p>""" ] ]
|
||
|
element MeasureHbToAckLatency {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"default".</p>""" ] ]
|
||
|
element MinimumSocketReceiveBufferSize {
|
||
|
memsize
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "64
|
||
|
KiB".</p>""" ] ]
|
||
|
element MinimumSocketSendBufferSize {
|
||
|
memsize
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "-1".</p>""" ] ]
|
||
|
element MonitorPort {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "true".</p>""" ] ]
|
||
|
element MultipleReceiveThreads {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "10 ms".</p>""" ] ]
|
||
|
element NackDelay {
|
||
|
duration
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "10 ms".</p>""" ] ]
|
||
|
element PreEmptiveAckDelay {
|
||
|
duration
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"128".</p>""" ] ]
|
||
|
element PrimaryReorderMaxSamples {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This element controls whether retransmits are prioritized over new
|
||
|
data, speeding up recovery.</p><p>The default value is:
|
||
|
"true".</p>""" ] ]
|
||
|
element PrioritizeRetransmit {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "10s".</p>""" ] ]
|
||
|
element RediscoveryBlacklistDuration {
|
||
|
duration_inf
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"never".</p>""" ] ]
|
||
|
element RetransmitMerging {
|
||
|
"never"|"adaptive"|"always"
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "5 ms".</p>""" ] ]
|
||
|
element RetransmitMergingPeriod {
|
||
|
duration
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "false".</p>""" ] ]
|
||
|
element RetryOnRejectBestEffort {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "0 ms".</p>""" ] ]
|
||
|
element SPDPResponseMaxDelay {
|
||
|
duration
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "0 ms".</p>""" ] ]
|
||
|
element ScheduleTimeRounding {
|
||
|
duration
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "128".</p>""" ] ]
|
||
|
element SecondaryReorderMaxSamples {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "false".</p>""" ] ]
|
||
|
element SendAsync {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "false".</p>""" ] ]
|
||
|
element SquashParticipants {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "inf".</p>""" ] ]
|
||
|
element SynchronousDeliveryLatencyBound {
|
||
|
duration_inf
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"0".</p>""" ] ]
|
||
|
element SynchronousDeliveryPriorityThreshold {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>Testing options.</p>""" ] ]
|
||
|
element Test {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<p>This element controls the fraction of outgoing packets to drop,
|
||
|
specified as samples per thousand.</p><p>The default value is:
|
||
|
"0".</p>""" ] ]
|
||
|
element XmitLossiness {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "true".</p>""" ] ]
|
||
|
element UnicastResponseToSPDPMessages {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>Do not use.</p><p>The default value is: "0".</p>""" ] ]
|
||
|
element UseMulticastIfMreqn {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>Watermarks for flow-control.</p>""" ] ]
|
||
|
element Watermarks {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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: "true".</p>""" ] ]
|
||
|
element WhcAdaptive {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "100
|
||
|
kB".</p>""" ] ]
|
||
|
element WhcHigh {
|
||
|
memsize
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "30
|
||
|
kB".</p>""" ] ]
|
||
|
element WhcHighInit {
|
||
|
memsize
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "1 kB".</p>""" ] ]
|
||
|
element WhcLow {
|
||
|
memsize
|
||
|
}?
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "false".</p>""" ] ]
|
||
|
element WriteBatch {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "1 s".</p>""" ] ]
|
||
|
element WriterLingerDuration {
|
||
|
duration
|
||
|
}?
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>The Partitioning element specifies Cyclone DDS network partitions and
|
||
|
how DCPS partition/topic combinations are mapped onto the network
|
||
|
partitions.</p>""" ] ]
|
||
|
element Partitioning {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<p>The IgnoredPartitions element specifies DCPS partition/topic
|
||
|
combinations that are not distributed over the network.</p>""" ] ]
|
||
|
element IgnoredPartitions {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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>""" ] ]
|
||
|
element IgnoredPartition {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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>""" ] ]
|
||
|
attribute DCPSPartitionTopic {
|
||
|
text
|
||
|
}
|
||
|
}*
|
||
|
}*
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>The NetworkPartitions element specifies the Cyclone DDS network
|
||
|
partitions.</p>""" ] ]
|
||
|
element NetworkPartitions {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<p>This element defines a Cyclone DDS network partition.</p>""" ] ]
|
||
|
element NetworkPartition {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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>""" ] ]
|
||
|
attribute Address {
|
||
|
text
|
||
|
}
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This attribute is a placeholder.</p><p>The default value is:
|
||
|
"true".</p>""" ] ]
|
||
|
attribute Connected {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This attribute specifies the name of this Cyclone DDS network
|
||
|
partition. Two network partitions cannot have the same name.</p>""" ] ]
|
||
|
attribute Name {
|
||
|
text
|
||
|
}
|
||
|
}*
|
||
|
}*
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>The PartitionMappings element specifies the mapping from DCPS
|
||
|
partition/topic combinations to Cyclone DDS network partitions.</p>""" ] ]
|
||
|
element PartitionMappings {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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>""" ] ]
|
||
|
element PartitionMapping {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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>""" ] ]
|
||
|
attribute DCPSPartitionTopic {
|
||
|
text
|
||
|
}
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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>""" ] ]
|
||
|
attribute NetworkPartition {
|
||
|
text
|
||
|
}
|
||
|
}*
|
||
|
}*
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>The SSL element allows specifying various parameters related to using
|
||
|
SSL/TLS for DDSI over TCP.</p>""" ] ]
|
||
|
element SSL {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<p>If disabled this allows SSL connections to occur even if an X509
|
||
|
certificate fails verification.</p><p>The default value is:
|
||
|
"true".</p>""" ] ]
|
||
|
element CertificateVerification {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>The set of ciphers used by SSL/TLS</p><p>The default value is:
|
||
|
"ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH".</p>""" ] ]
|
||
|
element Ciphers {
|
||
|
text
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This enables SSL/TLS for TCP.</p><p>The default value is:
|
||
|
"false".</p>""" ] ]
|
||
|
element Enable {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>The SSL/TLS random entropy file name.</p><p>The default value is:
|
||
|
"".</p>""" ] ]
|
||
|
element EntropyFile {
|
||
|
text
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>The SSL/TLS key pass phrase for encrypted keys.</p><p>The default
|
||
|
value is: "secret".</p>""" ] ]
|
||
|
element KeyPassphrase {
|
||
|
text
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>The SSL/TLS key and certificate store file name. The keystore must be
|
||
|
in PEM format.</p><p>The default value is: "keystore".</p>""" ] ]
|
||
|
element KeystoreFile {
|
||
|
text
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>The minimum TLS version that may be negotiated, valid values are 1.2
|
||
|
and 1.3.</p><p>The default value is: "1.3".</p>""" ] ]
|
||
|
element MinimumTLSVersion {
|
||
|
text
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This enables the use of self signed X509 certificates.</p><p>The
|
||
|
default value is: "false".</p>""" ] ]
|
||
|
element SelfSignedCertificates {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This enables an SSL server checking the X509 certificate of a
|
||
|
connecting client.</p><p>The default value is: "true".</p>""" ] ]
|
||
|
element VerifyClient {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>The Sizing element specifies a variety of configuration settings
|
||
|
dealing with expected system sizes, buffer sizes, &c.</p>""" ] ]
|
||
|
element Sizing {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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: "128
|
||
|
KiB".</p>""" ] ]
|
||
|
element ReceiveBufferChunkSize {
|
||
|
memsize
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "1
|
||
|
MiB".</p>""" ] ]
|
||
|
element ReceiveBufferSize {
|
||
|
memsize
|
||
|
}?
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>The TCP element allows specifying various parameters related to
|
||
|
running DDSI over TCP.</p>""" ] ]
|
||
|
element TCP {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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: "false".</p>""" ] ]
|
||
|
element AlwaysUsePeeraddrForUnicast {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This element enables the optional TCP transport - deprecated, use
|
||
|
General/Transport instead.</p><p>The default value is:
|
||
|
"default".</p>""" ] ]
|
||
|
element Enable {
|
||
|
"false"|"true"|"default"
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "true".</p>""" ] ]
|
||
|
element NoDelay {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "-1".</p>""" ] ]
|
||
|
element Port {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "2 s".</p>""" ] ]
|
||
|
element ReadTimeout {
|
||
|
duration
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "2 s".</p>""" ] ]
|
||
|
element WriteTimeout {
|
||
|
duration
|
||
|
}?
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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>""" ] ]
|
||
|
element ThreadPool {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<p>This element enables the optional thread pool.</p><p>The default value
|
||
|
is: "false".</p>""" ] ]
|
||
|
element Enable {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This elements configures the maximum number of threads in the thread
|
||
|
pool.</p><p>The default value is: "8".</p>""" ] ]
|
||
|
element ThreadMax {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This elements configures the initial number of threads in the thread
|
||
|
pool.</p><p>The default value is: "4".</p>""" ] ]
|
||
|
element Threads {
|
||
|
xsd:integer
|
||
|
}?
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This element is used to set thread properties.</p>""" ] ]
|
||
|
element Threads {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<p>This element is used to set thread properties.</p>""" ] ]
|
||
|
element Thread {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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>""" ] ]
|
||
|
attribute Name {
|
||
|
text
|
||
|
}
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<p>This element configures the scheduling properties of the thread.</p>""" ] ]
|
||
|
element Scheduling {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"default".</p>""" ] ]
|
||
|
element Class {
|
||
|
"realtime"|"timeshare"|"default"
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"default".</p>""" ] ]
|
||
|
element Priority {
|
||
|
text
|
||
|
}?
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"default".</p>""" ] ]
|
||
|
element StackSize {
|
||
|
memsize
|
||
|
}?
|
||
|
}*
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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>""" ] ]
|
||
|
element Tracing {
|
||
|
[ a:documentation [ xml:lang="en" """
|
||
|
<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: "false".</p>""" ] ]
|
||
|
element AppendToFile {
|
||
|
xsd:boolean
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "".</p>""" ] ]
|
||
|
element Category {
|
||
|
xsd:token { pattern = "((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))*)|" }
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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:
|
||
|
"cyclonedds.log".</p>""" ] ]
|
||
|
element OutputFile {
|
||
|
text
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "".</p>""" ] ]
|
||
|
element PacketCaptureFile {
|
||
|
text
|
||
|
}?
|
||
|
& [ a:documentation [ xml:lang="en" """
|
||
|
<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: "none".</p>""" ] ]
|
||
|
element Verbosity {
|
||
|
"finest"|"finer"|"fine"|"config"|"info"|"warning"|"severe"|"none"
|
||
|
}?
|
||
|
}?
|
||
|
}?
|
||
|
}
|
||
|
bandwidth = xsd:token { pattern = "0|(\d+(\.\d*)?([Ee][\-+]?\d+)?|\.\d+([Ee][\-+]?\d+)?) *([kMG]i?)?[Bb][p/]s" }
|
||
|
duration = xsd:token { pattern = "0|(\d+(\.\d*)?([Ee][\-+]?\d+)?|\.\d+([Ee][\-+]?\d+)?) *([num]?s|min|hr|day)" }
|
||
|
duration_inf = xsd:token { pattern = "inf|0|(\d+(\.\d*)?([Ee][\-+]?\d+)?|\.\d+([Ee][\-+]?\d+)?) *([num]?s|min|hr|day)" }
|
||
|
memsize = xsd:token { pattern = "0|(\d+(\.\d*)?([Ee][\-+]?\d+)?|\.\d+([Ee][\-+]?\d+)?) *([kMG]i?)?B" }
|
||
|
}
|