diff --git a/README.md b/README.md index c4352a4..8a549c5 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ point to it. E.g. (on Linux): $ cat cyclonedds.xml - + diff --git a/docs/makernc.pl b/docs/makernc.pl index bf09371..42033d1 100644 --- a/docs/makernc.pl +++ b/docs/makernc.pl @@ -156,7 +156,8 @@ my %tables; my @root = read_config ($input); { - open my $fh, ">", "$output_rnc" or die "can't open $output_rnc"; + open my $fh, ">:unix", "$output_rnc" or die "can't open $output_rnc"; + print $fh "default namespace = \"https://cdds.io/config\"\n"; print $fh "namespace a = \"http://relaxng.org/ns/compatibility/annotations/1.0\"\n"; print $fh "grammar {\n"; print $fh " start =\n"; @@ -170,7 +171,7 @@ my @root = read_config ($input); } { - open my $fh, ">", "$output_md" or die "can't open $output_md"; + open my $fh, ">:unix", "$output_md" or die "can't open $output_md"; my $sep_blurb = ""; conv_table($fh, \&conv_to_md, \@root, "/", " ", "", \$sep_blurb); close $fh; @@ -315,12 +316,14 @@ sub conv_to_rnc { print_description_rnc ($fh, $fs->{description}, $indent); printf $fh "${indent}%s %s {\n", ($fs->{kind} eq "ATTR" ? "attribute" : "element"), $name; + my $sub_isfirst = 1; + conv_table($fh, \&conv_to_rnc, $fs->{subtables}, $fqname, "${indent} ", $prefix, \$sub_isfirst); + my $sep = $sub_isfirst ? "" : "& "; + if ($fs->{kind} eq "GROUP" || $fs->{kind} eq "MGROUP") { - my $sub_isfirst = 1; - conv_table($fh, \&conv_to_rnc, $fs->{subtables}, $fqname, "${indent} ", $prefix, \$sub_isfirst); - printf $fh "${indent} empty\n" if $sub_isfirst; + printf $fh "${indent} ${sep}empty\n" if $sub_isfirst; } elsif ($fs->{kstr} eq "Boolean") { - printf $fh "${indent} xsd:boolean\n"; + printf $fh "${indent} ${sep}xsd:boolean\n"; } elsif ($fs->{kstr} eq "Comma") { die unless exists $comma_values{$fs->{typehint}}; my $pat = ""; @@ -337,13 +340,13 @@ sub conv_to_rnc { } } $pat .= "|" if $allowempty; - printf $fh "${indent} xsd:token { pattern = \"%s\" }\n", $pat; + printf $fh "${indent} ${sep}xsd:token { pattern = \"%s\" }\n", $pat; } elsif ($fs->{kstr} eq "Enum") { die unless exists $enum_values{$fs->{typehint}}; my @vs = split /;/, $enum_values{$fs->{typehint}}; - printf $fh "${indent} %s\n", (join '|', map { "\"$_\"" } @vs); + printf $fh "${indent} ${sep}%s\n", (join '|', map { "\"$_\"" } @vs); } elsif ($fs->{kstr} eq "Int") { - printf $fh "${indent} xsd:integer\n"; + printf $fh "${indent} ${sep}xsd:integer\n"; #if (exists $range{$lctn} || exists $range{$fs->{typehint}}) { # # integer with range # my $rr = exists $range{$lctn} ? $range{$lctn} : $range{$fs->{typehint}}; @@ -351,9 +354,9 @@ sub conv_to_rnc { #} } elsif ($typehint2unit{$fs->{typehint}}) { # number with unit - printf $fh "${indent} $typehint2unit{$fs->{typehint}}\n"; + printf $fh "${indent} ${sep}$typehint2unit{$fs->{typehint}}\n"; } elsif ($typehint2xmltype{$fs->{typehint}} =~ /String$/) { - printf $fh "${indent} text\n"; + printf $fh "${indent} ${sep}text\n"; } else { die; } @@ -393,7 +396,7 @@ sub conv_to_md { # Describe type (boolean, integer, &c.); for a group list its attributes and children as # links to their descriptions - if ($fs->{kind} eq "GROUP" || $fs->{kind} eq "MGROUP") { + { my %children = ("attributes" => [], "elements" => []); conv_table($fh, \&list_children_md, $fs->{subtables}, "", "${indent} ", $prefix, \%children); if (@{$children{attributes}} > 0) { @@ -406,6 +409,10 @@ sub conv_to_md { my @ys = map { my $lt = lc "$fqname\[\@$_]"; $lt =~ s/[^a-z0-9]//g; "[$_](#$lt)" } @xs; printf $fh "Children: %s\n\n", (join ', ', @ys); } + } + + if ($fs->{kind} eq "GROUP" || $fs->{kind} eq "MGROUP") { + # nothing to see here } elsif ($fs->{kstr} eq "Boolean") { printf $fh "Boolean\n"; } elsif ($fs->{kstr} eq "Comma") { @@ -451,9 +458,7 @@ sub conv_to_md { print_description_md ($fh, $fs->{description}, $indent); # Generate attributes & children - if ($fs->{kind} eq "GROUP" || $fs->{kind} eq "MGROUP") { - conv_table($fh, \&conv_to_md, $fs->{subtables}, $fqname, "${indent} ", $prefix, $separator_blurb_ref); - } + conv_table($fh, \&conv_to_md, $fs->{subtables}, $fqname, "${indent} ", $prefix, $separator_blurb_ref); } sub conv_table { diff --git a/docs/manual/options.md b/docs/manual/options.md index 7f375ef..25caaf6 100644 --- a/docs/manual/options.md +++ b/docs/manual/options.md @@ -672,6 +672,8 @@ The default value is: "false". #### //CycloneDDS/Domain/Internal/HeartbeatInterval +Attributes: [max](#cycloneddsdomaininternalheartbeatintervalmax), [min](#cycloneddsdomaininternalheartbeatintervalmin), [minsched](#cycloneddsdomaininternalheartbeatintervalminsched) + Number-with-unit This elemnents allows configuring the base interval for sending writer @@ -683,6 +685,42 @@ Valid values are finite durations with an explicit unit or the keyword The default value is: "100 ms". +#### //CycloneDDS/Domain/Internal/HeartbeatInterval[@max] +Number-with-unit + +This attribute sets the maximum interval for periodic heartbeats. + +Valid values are finite durations with an explicit unit or the keyword +'inf' for infinity. Recognised units: ns, us, ms, s, min, hr, day. + +The default value is: "8 s". + + +#### //CycloneDDS/Domain/Internal/HeartbeatInterval[@min] +Number-with-unit + +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. + +Valid values are finite durations with an explicit unit or the keyword +'inf' for infinity. Recognised units: ns, us, ms, s, min, hr, day. + +The default value is: "5 ms". + + +#### //CycloneDDS/Domain/Internal/HeartbeatInterval[@minsched] +Number-with-unit + +This attribute sets the minimum interval for periodic heartbeats. Other +events may still cause heartbeats to go out. + +Valid values are finite durations with an explicit unit or the keyword +'inf' for infinity. Recognised units: ns, us, ms, s, min, hr, day. + +The default value is: "20 ms". + + #### //CycloneDDS/Domain/Internal/LateAckMode Boolean @@ -704,6 +742,8 @@ The default value is: "10 s". #### //CycloneDDS/Domain/Internal/LivelinessMonitoring +Attributes: [Interval](#cycloneddsdomaininternallivelinessmonitoringinterval), [StackTraces](#cycloneddsdomaininternallivelinessmonitoringstacktraces) + Boolean This element controls whether or not implementation should internally @@ -714,6 +754,28 @@ stopped making progress. The default value is: "false". +#### //CycloneDDS/Domain/Internal/LivelinessMonitoring[@Interval] +Number-with-unit + +This element controls the interval at which to check whether threads have +been making progress. + +The unit must be specified explicitly. Recognised units: ns, us, ms, s, +min, hr, day. + +The default value is: "1s". + + +#### //CycloneDDS/Domain/Internal/LivelinessMonitoring[@StackTraces] +Boolean + +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). + +The default value is: "true". + + #### //CycloneDDS/Domain/Internal/MaxParticipants Integer @@ -819,6 +881,8 @@ The default value is: "-1". #### //CycloneDDS/Domain/Internal/MultipleReceiveThreads +Attributes: [maxretries](#cycloneddsdomaininternalmultiplereceivethreadsmaxretries) + Boolean This element controls whether all traffic is handled by a single receive @@ -830,6 +894,18 @@ single (the default). The default value is: "true". +#### //CycloneDDS/Domain/Internal/MultipleReceiveThreads[@maxretries] +Integer + +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. + +The default value is: "4294967295". + + #### //CycloneDDS/Domain/Internal/NackDelay Number-with-unit @@ -880,6 +956,8 @@ The default value is: "true". #### //CycloneDDS/Domain/Internal/RediscoveryBlacklistDuration +Attributes: [enforce](#cycloneddsdomaininternalrediscoveryblacklistdurationenforce) + Number-with-unit This element controls for how long a remote participant that was @@ -898,6 +976,18 @@ Valid values are finite durations with an explicit unit or the keyword The default value is: "10s". +#### //CycloneDDS/Domain/Internal/RediscoveryBlacklistDuration[@enforce] +Boolean + +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. + +The default value is: "false". + + #### //CycloneDDS/Domain/Internal/RetransmitMerging One of: never, adaptive, always diff --git a/etc/cyclonedds.rnc b/etc/cyclonedds.rnc index de54eef..12444a9 100644 --- a/etc/cyclonedds.rnc +++ b/etc/cyclonedds.rnc @@ -1,3 +1,4 @@ +default namespace = "https://cdds.io/config" namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" grammar { start = @@ -558,7 +559,37 @@ heartbeats and the bounds within it can vary.

'inf' for infinity. Recognised units: ns, us, ms, s, min, hr, day.

The default value is: "100 ms".

""" ] ] element HeartbeatInterval { - duration_inf + [ a:documentation [ xml:lang="en" """ +

This attribute sets the maximum interval for periodic heartbeats.

+ +

Valid values are finite durations with an explicit unit or the keyword +'inf' for infinity. Recognised units: ns, us, ms, s, min, hr, +day.

The default value is: "8 s".

""" ] ] + attribute max { + duration_inf + }? + & [ a:documentation [ xml:lang="en" """ +

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.

+ +

Valid values are finite durations with an explicit unit or the keyword +'inf' for infinity. Recognised units: ns, us, ms, s, min, hr, +day.

The default value is: "5 ms".

""" ] ] + attribute min { + duration_inf + }? + & [ a:documentation [ xml:lang="en" """ +

This attribute sets the minimum interval for periodic heartbeats. +Other events may still cause heartbeats to go out.

+ +

Valid values are finite durations with an explicit unit or the keyword +'inf' for infinity. Recognised units: ns, us, ms, s, min, hr, +day.

The default value is: "20 ms".

""" ] ] + attribute minsched { + duration_inf + }? + & duration_inf }? & [ a:documentation [ xml:lang="en" """

Ack a sample only when it has been delivered, instead of when @@ -582,7 +613,23 @@ traces can be dumped automatically when some thread appears to have stopped making progress.

The default value is: "false".

""" ] ] element LivelinessMonitoring { - xsd:boolean + [ a:documentation [ xml:lang="en" """ +

This element controls the interval at which to check whether threads +have been making progress.

+ +

The unit must be specified explicitly. Recognised units: ns, us, ms, +s, min, hr, day.

The default value is: "1s".

""" ] ] + attribute Interval { + duration + }? + & [ a:documentation [ xml:lang="en" """ +

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).

The default value is: "true".

""" ] ] + attribute StackTraces { + xsd:boolean + }? + & xsd:boolean }? & [ a:documentation [ xml:lang="en" """

This elements configures the maximum number of DCPS domain @@ -678,7 +725,17 @@ latency. Currently multiple receive threads are only used for connectionless transport (e.g., UDP) and ManySocketsMode not set to single (the default).

The default value is: "true".

""" ] ] element MultipleReceiveThreads { - xsd:boolean + [ a:documentation [ xml:lang="en" """ +

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.

The default value is: +"4294967295".

""" ] ] + attribute maxretries { + xsd:integer + }? + & xsd:boolean }? & [ a:documentation [ xml:lang="en" """

This setting controls the delay between receipt of a HEARTBEAT @@ -734,7 +791,17 @@ is therefore recommended to set it to at least several seconds.

'inf' for infinity. Recognised units: ns, us, ms, s, min, hr, day.

The default value is: "10s".

""" ] ] element RediscoveryBlacklistDuration { - duration_inf + [ a:documentation [ xml:lang="en" """ +

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.

The default +value is: "false".

""" ] ] + attribute enforce { + xsd:boolean + }? + & duration_inf }? & [ a:documentation [ xml:lang="en" """

This elements controls the addressing and timing of retransmits. diff --git a/etc/cyclonedds.xsd b/etc/cyclonedds.xsd index da6da80..4e31f2f 100644 --- a/etc/cyclonedds.xsd +++ b/etc/cyclonedds.xsd @@ -1,9 +1,5 @@ - - + @@ -11,7 +7,7 @@ CycloneDDS configuration - + @@ -22,15 +18,15 @@ CycloneDDS configuration - - - - - - - - - + + + + + + + + + @@ -38,11 +34,11 @@ CycloneDDS configuration - + - + @@ -61,10 +57,10 @@ to compatability with standards and with other DDSI implementations.</p> - - - - + + + + @@ -158,19 +154,19 @@ the discovery of peers.</p> - - - - - - - - - + + + + + + + + + - + <p>This setting controls for how long endpoints discovered via a Cloud @@ -242,8 +238,8 @@ second be option be used.</p><p>The default value is: - - + + @@ -256,7 +252,7 @@ succeeds.</p> - + @@ -288,13 +284,13 @@ by the DDSI 2.1 specification and rarely need to be changed.</p> - - - - - - - + + + + + + + @@ -355,7 +351,7 @@ to the DDSI 2.1 specification, section 9.6.1, constant d1).</p><p>Th default value is: &quot;10&quot;.</p> - + <p>This element specifies the interval between spontaneous transmissions @@ -383,19 +379,19 @@ settings.</p> - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -481,7 +477,7 @@ address. This option is IPv4-only.</p><p>The default value is: &quot;0.0.0.0&quot;.</p> - + <p>This element specifies the size of DDSI sample fragments generated by @@ -497,7 +493,7 @@ of which the size is at least the minimum of 1025 and FragmentSize.</p> B&quot;.</p> - + <p>This element specifies the maximum size of the UDP payload that @@ -620,51 +616,51 @@ reserved. This includes renaming or moving options.</p> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -688,7 +684,7 @@ wildcards) against which the interface names are matched.</p><p>The default value is: &quot;&quot;.</p> - + <p>This setting controls the interval with which a reader will continue @@ -798,7 +794,7 @@ checks.</p><p>The default value is: &quot;&quot;.</p>< keys.</p><p>The default value is: &quot;false&quot;.</p> - + <p>This elemnents allows configuring the base interval for sending writer @@ -808,6 +804,45 @@ heartbeats and the bounds within it can vary.</p> 'inf' for infinity. Recognised units: ns, us, ms, s, min, hr, day.</p><p>The default value is: &quot;100 ms&quot;.</p> + + + + + + +<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> + + + + + +<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> + + + + + +<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> + + + + + @@ -817,7 +852,7 @@ committed to delivering it.</p><p>The default value is: &quot;false&quot;.</p> - + <p>This setting controls the default participant lease duration. <p> @@ -826,7 +861,7 @@ committed to delivering it.</p><p>The default value is: s, min, hr, day.</p><p>The default value is: &quot;10 s&quot;.</p> - + <p>This element controls whether or not implementation should internally @@ -835,6 +870,30 @@ traces can be dumped automatically when some thread appears to have stopped making progress.</p><p>The default value is: &quot;false&quot;.</p> + + + + + + +<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> + + + + + +<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> + + + + + @@ -844,7 +903,7 @@ participants this Cyclone DDS instance is willing to service. 0 is unlimited.</p><p>The default value is: &quot;0&quot;.</p> - + <p>This setting limits the maximum number of bytes queued for @@ -866,7 +925,7 @@ kB&quot;.</p> retransmission.</p><p>The default value is: &quot;200&quot;.</p> - + <p>This setting controls the maximum (CDR) serialised size of samples @@ -889,7 +948,7 @@ measured latencies are quite noisy and are currently not used anywhere.</p><p>The default value is: &quot;false&quot;.</p> - + <p>This setting controls the minimum size of socket receive buffers. The @@ -908,7 +967,7 @@ a smaller buffer should that attempt fail.</p> &quot;default&quot;.</p> - + <p>This setting controls the minimum size of socket send buffers. This @@ -931,7 +990,7 @@ positive number is used as the TCP port number.</p><p>The default va is: &quot;-1&quot;.</p> - + <p>This element controls whether all traffic is handled by a single @@ -940,8 +999,25 @@ 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> + + + + + + +<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> + + + + + - + <p>This setting controls the delay between receipt of a HEARTBEAT @@ -954,7 +1030,7 @@ that NACK will incorporate the latest information.</p> s, min, hr, day.</p><p>The default value is: &quot;10 ms&quot;.</p> - + <p>This setting controls the delay between the discovering a remote @@ -984,7 +1060,7 @@ data, speeding up recovery.</p><p>The default value is: &quot;true&quot;.</p> - + <p>This element controls for how long a remote participant that was @@ -1001,6 +1077,23 @@ is therefore recommended to set it to at least several seconds.</p> 'inf' for infinity. Recognised units: ns, us, ms, s, min, hr, day.</p><p>The default value is: &quot;10s&quot;.</p> + + + + + + +<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> + + + + + @@ -1029,7 +1122,7 @@ Internal/RetransmitMergingPeriod.</p><p>The default value is: - + <p>This setting determines the size of the time window in which a NACK of @@ -1051,7 +1144,7 @@ into the reader caches when resource limits are reached.</p><p>The default value is: &quot;false&quot;.</p> - + <p>Maximum pseudo-random delay in milliseconds between discovering a @@ -1061,7 +1154,7 @@ remote participant and responding to it.</p> s, min, hr, day.</p><p>The default value is: &quot;0 ms&quot;.</p> - + <p>This setting allows the timing of scheduled events to be rounded up so @@ -1103,7 +1196,7 @@ by setting Internal/BuiltinEndpointSet to "minimal" but with less loss of information).</p><p>The default value is: &quot;false&quot;.</p> - + <p>This element controls whether samples sent by a writer with QoS @@ -1137,7 +1230,7 @@ the expense of aggregate bandwidth.</p><p>The default value is: - + @@ -1171,10 +1264,10 @@ to <i>false</i>.</p><p>The default value is: &quot;t - - - - + + + + @@ -1186,7 +1279,7 @@ mark to current traffic conditions, based on retransmit requests and transmit pressure.</p><p>The default value is: &quot;true&quot;.</p> - + <p>This element sets the maximum allowed high-water mark for the Cyclone @@ -1199,7 +1292,7 @@ this size.</p> kB&quot;.</p> - + <p>This element sets the initial level of the high-water mark for the @@ -1211,7 +1304,7 @@ Cyclone DDS WHCs, expressed in bytes.</p> kB&quot;.</p> - + <p>This element sets the low-water mark for the Cyclone DDS WHCs, @@ -1237,7 +1330,7 @@ dds_write_flush function to ensure thta all samples are written.</p><p>The default value is: &quot;false&quot;.</p> - + <p>This setting controls the maximum duration for which actual deletion @@ -1257,9 +1350,9 @@ partitions.</p> - - - + + + @@ -1271,7 +1364,7 @@ combinations that are not distributed over the network.</p> - + @@ -1306,7 +1399,7 @@ partitions.</p> - + @@ -1351,7 +1444,7 @@ partition/topic combinations to Cyclone DDS network partitions.</p> - + @@ -1394,8 +1487,8 @@ SSL/TLS for DDSI over TCP.</p> - - + + @@ -1403,12 +1496,12 @@ SSL/TLS for DDSI over TCP.</p> &quot;false&quot;.</p> - - - - - - + + + + + + @@ -1477,12 +1570,12 @@ dealing with expected system sizes, buffer sizes, &c.</p> - - + + - + <p>This element specifies the size of one allocation unit in the receive @@ -1496,7 +1589,7 @@ after processing a message, or freed straightaway.</p> KiB&quot;.</p> - + <p>This element sets the size of a single receive buffer. Many receive @@ -1518,7 +1611,7 @@ running DDSI over TCP.</p> - + @@ -1534,10 +1627,10 @@ General/Transport instead.</p><p>The default value is: - - - - + + + + @@ -1571,7 +1664,7 @@ by establishing connections to other services.</p><p>The default val is: &quot;-1&quot;.</p> - + <p>This element specifies the timeout for blocking TCP read operations. @@ -1581,7 +1674,7 @@ If this timeout expires then the connection is closed.</p> s, min, hr, day.</p><p>The default value is: &quot;2 s&quot;.</p> - + <p>This element specifies the timeout for blocking TCP write operations. @@ -1607,7 +1700,7 @@ using a thread pool to send DDSI messages to multiple unicast addresses is: &quot;false&quot;.</p> - + @@ -1632,8 +1725,8 @@ pool.</p><p>The default value is: &quot;8&quot;.</p> - - + + @@ -1671,8 +1764,8 @@ discovery;</li> - - + + @@ -1704,7 +1797,7 @@ assign some of the privileged priorities.</p><p>The default value is &quot;default&quot;.</p> - + <p>This element configures the stack size for this thread. The default @@ -1726,11 +1819,11 @@ track the DDSI service during application development.</p> - - - - - + + + + + diff --git a/src/core/ddsi/src/q_config.c b/src/core/ddsi/src/q_config.c index 7664e8d..75ca4fe 100644 --- a/src/core/ddsi/src/q_config.c +++ b/src/core/ddsi/src/q_config.c @@ -832,6 +832,7 @@ static const struct cfgelem root_cfgelems[] = { static const struct cfgelem root_cfgattrs[] = { { ATTR("xmlns"), 0, "", 0, 0, 0, uf_nop, 0, pf_nop, NULL }, { ATTR("xmlns:xsi"), 0, "", 0, 0, 0, uf_nop, 0, pf_nop, NULL }, + { ATTR("xsi:schemaLocation"), 0, "", 0, 0, 0, uf_nop, 0, pf_nop, NULL }, { ATTR("xsi:noNamespaceSchemaLocation"), 0, "", 0, 0, 0, uf_nop, 0, pf_nop, NULL }, END_MARKER };