From a25b69be7d3006d95b27641cffe67895e0348c07 Mon Sep 17 00:00:00 2001
From: Erik Boasson
Date: Thu, 3 Oct 2019 13:40:27 +0200
Subject: [PATCH] Exclude network channels from documentation
They are not supported yet.
Signed-off-by: Erik Boasson
---
docs/makernc.pl | 106 ++++++++++++++++++++-------------
docs/manual/options.md | 130 +---------------------------------------
etc/cyclonedds.rnc | 110 ----------------------------------
etc/cyclonedds.xsd | 132 -----------------------------------------
4 files changed, 68 insertions(+), 410 deletions(-)
diff --git a/docs/makernc.pl b/docs/makernc.pl
index d423ed8..bf09371 100644
--- a/docs/makernc.pl
+++ b/docs/makernc.pl
@@ -5,13 +5,14 @@ if 0;
use strict;
use Data::Dumper;
-if (@ARGV != 2) {
- print STDERR "usage: $0 input output_basename\n";
+if (@ARGV != 3) {
+ print STDERR "usage: $0 input output.md output.rnc\n";
exit 2;
}
my $input = $ARGV[0];
-my $output = $ARGV[1];
+my $output_md = $ARGV[1];
+my $output_rnc = $ARGV[2];
# This "perl" script extracts the configuration elements and their types and descriptions
# from the source and generates a RELAX NG Compact Form (RNC) and a MarkDown version of
@@ -31,6 +32,13 @@ my $output = $ARGV[1];
# - knowledge of conversion functions in here
# - hard definitions of enums in here
# - some other hard-coded knowledge of the top level nodes
+#
+# INCANTATION
+#
+# trang is a tool for converting (among other things) RNC to XSD
+#
+# perl -w ../docs/makernc.pl ../src/core/ddsi/src/q_config.c ../docs/manual/options.md ../etc/cyclonedds.rnc \
+# && java -jar trang-20091111/trang.jar -I rnc -O xsd ../etc/cyclonedds.rnc ../etc/cyclonedds.xsd
$|=1;
my $debug = 0;
@@ -140,14 +148,15 @@ while (my ($k, $v) = each %typehint2xmltype) {
die "script error: values of enum type $k unknown\n" if $v eq "Enum" && $enum_values{$k} eq "";
}
-my %tab2elems;
my %elem;
my %typehint_seen;
+my %tables;
+
my @root = read_config ($input);
{
- open my $fh, ">", "${output}.rnc" or die "can't open ${output}.rnc";
+ open my $fh, ">", "$output_rnc" or die "can't open $output_rnc";
print $fh "namespace a = \"http://relaxng.org/ns/compatibility/annotations/1.0\"\n";
print $fh "grammar {\n";
print $fh " start =\n";
@@ -161,7 +170,7 @@ my @root = read_config ($input);
}
{
- open my $fh, ">", "${output}.md" or die "can't open ${output}.md";
+ open my $fh, ">", "$output_md" or die "can't open $output_md";
my $sep_blurb = "";
conv_table($fh, \&conv_to_md, \@root, "/", " ", "", \$sep_blurb);
close $fh;
@@ -216,7 +225,6 @@ sub store_entry {
$name =~ s/\|.*//; # aliases are not visible in osplconf
my $ltable = lc $table;
my $lname = lc $name;
- push @{$tab2elems{$ltable}}, $name;
die "error: no mapping defined for type $typehint\n" if $typehint2xmltype{$typehint} eq "";
my $ub = exists $typehint2unit{$typehint} && exists $unit_blurb{$typehint2unit{$typehint}} ? $unit_blurb{$typehint2unit{$typehint}} : "";
if ($kind eq "GROUP" || $kind eq "MGROUP") {
@@ -250,15 +258,15 @@ sub store_entry {
my $desc = clean_description($description).$ub;
$desc .= "The default value is: "$defaultvalue".
" if defined $defaultvalue;
- $elem{"$ltable/$lname"} = { kind => $kind, kstr => $kstr,
- subtables => $subtables, multiplicity => $multiplicity,
- min_occ => $min_occ, max_occ => $max_occ, root => 0,
- defaultvalue => $defaultvalue, typehint => $typehint,
- description => $desc };
+ my $fs;
+ push @{$tables{$table}}, { table => $table, name => $name,
+ kind => $kind, kstr => $kstr,
+ subtables => $subtables, multiplicity => $multiplicity,
+ min_occ => $min_occ, max_occ => $max_occ, root => 0,
+ defaultvalue => $defaultvalue, typehint => $typehint,
+ description => $desc };
# typehint_seen is for verifying no bogus type hints are defined in this script
$typehint_seen{$typehint} = 1;
- #printf "%s - $s\n", "$ltable/$lname", $elem{"$ltable/lname"};
- #$typehint = "";
}
sub fmtblurb {
@@ -449,38 +457,55 @@ sub conv_to_md {
}
sub conv_table {
- my ($fh, $convsub, $tablesref, $fqname, $indent, $prefix, $closure) = @_;
- my (@ts, @ns);
- for (@$tablesref) {
- next unless exists $tab2elems{$_};
- for (my $i = 0; $i < @{$tab2elems{$_}}; $i++) {
- push @ts, $_;
- }
- push @ns, sort @{$tab2elems{$_}};
- }
+ my ($fh, $convsub, $tablenames, $fqname, $indent, $prefix, $closure) = @_;
my $elems = 0;
- for (my $i = 0; $i < @ns; $i++) {
- my $fs = $elem{lc "$ts[$i]/$ns[$i]"};
- my $fqname1;
- if ($fs->{kind} eq "ATTR") {
- die unless $elems == 0;
- $fqname1 = "${fqname}[\@$ns[$i]]";
- } else {
- $fqname1 = "$fqname/$ns[$i]";
- $elems++;
+ for (@$tablenames) {
+ next unless exists $tables{$_};
+ for my $fs (sort { $a->{name} cmp $b->{name} } @{$tables{$_}}) {
+ my $fqname1;
+ if ($fs->{kind} eq "ATTR") {
+ die unless $elems == 0;
+ $fqname1 = "${fqname}[\@$fs->{name}]";
+ } else {
+ $fqname1 = "$fqname/$fs->{name}";
+ $elems++;
+ }
+ my $prefix1 = ($fs->{table} eq "unsupp_cfgelems") ? "Internal" : $prefix;
+ &$convsub ($fh, $fs, $fs->{name}, $fqname1, $indent, $prefix1, $closure);
}
- &$convsub ($fh, $fs, $ns[$i], $fqname1, $indent, ($ts[$i] eq "unsupp_cfgelems") ? "Internal" : $prefix, $closure);
}
}
sub read_config {
+ my %incl = (# included options
+ 'DDSI_INCLUDE_SSL' => 1,
+ 'DDSI_INCLUDE_NETWORK_PARTITIONS' => 1,
+ 'DDSI_INCLUDE_SSM' => 1,
+ # excluded options
+ 'DDSI_INCLUDE_NETWORK_CHANNELS' => 0,
+ 'DDSI_INCLUDE_BANDWIDTH_LIMITING' => 0);
my ($input) = @_;
my ($name, $table, $kind, @subtables, $multiplicity, $defaultvalue, $typehint, $description);
my ($gobbling_description, $in_table, $rest, $deprecated);
+ my @stk = (); # stack of conditional nesting, for each: copy/discard/ignore
open FH, "<", $input or die "can't open $input\n";
while () {
chomp;
+ # ignore parts guarded by #if/#ifdef/#if!/#ifndef if $incl says so
+ if (/^\s*\#\s*if(n?def|\s*!)?\s*([A-Za-z_][A-Za-z_0-9]*)\s*(?:\/(?:\/.*|\*.*?\*\/)\s*)?$/) {
+ my $x = (not defined $1 || $1 eq "def") ? -1 : 1; my $var = $2;
+ die if $var =~ /^DDSI_INCLUDE_/ && !exists $incl{$var};
+ push @stk, (not defined $incl{$var}) ? 0 : $incl{$var} ? $x : -$x;
+ } elsif (/^\s*\#\s*if/) { # ignore any other conditional
+ push @stk, 0;
+ } elsif (/^\s*\#\s*else/) {
+ $stk[$#stk] = -$stk[$#stk];
+ } elsif (/^\s*\#\s*endif/) {
+ pop @stk;
+ }
+ next if grep {$_ < 0} @stk;
+
if ($gobbling_description) {
$description .= $_;
#print " .. $_\n";
@@ -489,7 +514,8 @@ sub read_config {
if ($gobbling_description && /(^|")(\s*\)) *\} *, *$/) {
$gobbling_description = 0;
my @st = @subtables;
- store_entry ($name, $table, $kind, \@st, $multiplicity, $defaultvalue, $typehint, $description) unless $deprecated;
+ store_entry ($name, $table, $kind, \@st, $multiplicity, $defaultvalue, $typehint, $description)
+ unless $deprecated;
next;
}
@@ -624,7 +650,8 @@ sub read_config {
# description ending on same line
$description = $1;
my @st = @subtables;
- store_entry ($name, $table, $kind, \@st, $multiplicity, $defaultvalue, $typehint, $description) unless $deprecated;
+ store_entry ($name, $table, $kind, \@st, $multiplicity, $defaultvalue, $typehint, $description)
+ unless $deprecated;
} else {
# strip the quotes &c. once the full text has been gathered
$description = $rest;
@@ -636,11 +663,10 @@ sub read_config {
}
close FH;
- #print "$tab2elems{cyclonedds_root_cfgelems}\n";
- my @rootnames = @{$tab2elems{cyclonedds_root_cfgelems}};
- die "error: cyclonedds_root_cfgelems has no or multiple entries\n" if @rootnames != 1;
- die "error: root_cfgelems doesn't exist\n" unless exists $tab2elems{root_cfgelems};
- my $root = $elem{lc "cyclonedds_root_cfgelems/$rootnames[0]"};
+ my @roots = @{$tables{cyclonedds_root_cfgelems}};
+ die "error: cyclonedds_root_cfgelems has no or multiple entries\n" if @roots != 1;
+ die "error: root_cfgelems doesn't exist\n" unless exists $tables{root_cfgelems};
+ my $root = $roots[0];
die "error: root_cfgelems doesn't exist\n" unless defined $root;
$root->{min_occ} = $root->{max_occ} = $root->{isroot} = 1;
while (my ($k, $v) = each %typehint_seen) {
diff --git a/docs/manual/options.md b/docs/manual/options.md
index 3ed9e5a..7f375ef 100644
--- a/docs/manual/options.md
+++ b/docs/manual/options.md
@@ -8,7 +8,7 @@ CycloneDDS configuration
## //CycloneDDS/Domain
Attributes: [Id](#cycloneddsdomainid)
-Children: [Channels](#cycloneddsdomainchannels), [Compatibility](#cycloneddsdomaincompatibility), [Discovery](#cycloneddsdomaindiscovery), [General](#cycloneddsdomaingeneral), [Internal](#cycloneddsdomaininternal), [Partitioning](#cycloneddsdomainpartitioning), [SSL](#cycloneddsdomainssl), [Sizing](#cycloneddsdomainsizing), [TCP](#cycloneddsdomaintcp), [ThreadPool](#cycloneddsdomainthreadpool), [Threads](#cycloneddsdomainthreads), [Tracing](#cycloneddsdomaintracing)
+Children: [Compatibility](#cycloneddsdomaincompatibility), [Discovery](#cycloneddsdomaindiscovery), [General](#cycloneddsdomaingeneral), [Internal](#cycloneddsdomaininternal), [Partitioning](#cycloneddsdomainpartitioning), [SSL](#cycloneddsdomainssl), [Sizing](#cycloneddsdomainsizing), [TCP](#cycloneddsdomaintcp), [ThreadPool](#cycloneddsdomainthreadpool), [Threads](#cycloneddsdomainthreads), [Tracing](#cycloneddsdomaintracing)
The General element specifying Domain related settings.
@@ -23,113 +23,6 @@ domain ids.
The default value is: "any".
-### //CycloneDDS/Domain/Channels
-Children: [Channel](#cycloneddsdomainchannelschannel)
-
-
-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.
-
-
-#### //CycloneDDS/Domain/Channels/Channel
-Attributes: [Name](#cycloneddsdomainchannelschannelname), [TransportPriority](#cycloneddsdomainchannelschanneltransportpriority)
-
-Children: [AuxiliaryBandwidthLimit](#cycloneddsdomainchannelschannelauxiliarybandwidthlimit), [DataBandwidthLimit](#cycloneddsdomainchannelschanneldatabandwidthlimit), [DiffServField](#cycloneddsdomainchannelschanneldiffservfield)
-
-
-This element defines a channel.
-
-
-#### //CycloneDDS/Domain/Channels/Channel[@Name]
-Text
-
-This attribute specifies name of this channel. The name should uniquely
-identify the channel.
-
-
-#### //CycloneDDS/Domain/Channels/Channel[@TransportPriority]
-Integer
-
-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.
-
-The default value is: "0".
-
-
-##### //CycloneDDS/Domain/Channels/Channel/AuxiliaryBandwidthLimit
-Number-with-unit
-
-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.
-
-The unit must be specified explicitly. Recognised units: Xb/s, Xbps for
-bits/s or XB/s, XBps for bytes/s; where X is an optional prefix: k for
-10^3, Ki for 210, M for 106, Mi for 220,
-G for 109, Gi for 230.
-
-The default value is: "inf".
-
-
-##### //CycloneDDS/Domain/Channels/Channel/DataBandwidthLimit
-Number-with-unit
-
-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.
-
-The unit must be specified explicitly. Recognised units: Xb/s, Xbps for
-bits/s or XB/s, XBps for bytes/s; where X is an optional prefix: k for
-10^3, Ki for 210, M for 106, Mi for 220,
-G for 109, Gi for 230.
-
-The default value is: "inf".
-
-
-##### //CycloneDDS/Domain/Channels/Channel/DiffServField
-Integer
-
-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.
-
-Windows platform support for setting the diffserv field is dependent on
-the OS version.
-
-For Windows versions XP SP2 and 2003 to use the diffserv field the
-following parameter should be added to the register:
-
-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\DisableUserTOSSetting
-
-The type of this parameter is a DWORD and its value should be set to 0 to
-allow setting of the diffserv field.
-
-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.
-
-The default value is: "0".
-
-
### //CycloneDDS/Domain/Compatibility
Children: [AssumeRtiHasPmdEndpoints](#cycloneddsdomaincompatibilityassumertihaspmdendpoints), [ExplicitlyPublishQosSetToDefault](#cycloneddsdomaincompatibilityexplicitlypublishqossettodefault), [ManySocketsMode](#cycloneddsdomaincompatibilitymanysocketsmode), [StandardsConformance](#cycloneddsdomaincompatibilitystandardsconformance)
@@ -641,7 +534,7 @@ The default value is: "default".
### //CycloneDDS/Domain/Internal
-Children: [AccelerateRexmitBlockSize](#cycloneddsdomaininternalacceleraterexmitblocksize), [AssumeMulticastCapable](#cycloneddsdomaininternalassumemulticastcapable), [AutoReschedNackDelay](#cycloneddsdomaininternalautoreschednackdelay), [AuxiliaryBandwidthLimit](#cycloneddsdomaininternalauxiliarybandwidthlimit), [BuiltinEndpointSet](#cycloneddsdomaininternalbuiltinendpointset), [ControlTopic](#cycloneddsdomaininternalcontroltopic), [DDSI2DirectMaxThreads](#cycloneddsdomaininternalddsi2directmaxthreads), [DefragReliableMaxSamples](#cycloneddsdomaininternaldefragreliablemaxsamples), [DefragUnreliableMaxSamples](#cycloneddsdomaininternaldefragunreliablemaxsamples), [DeliveryQueueMaxSamples](#cycloneddsdomaininternaldeliveryqueuemaxsamples), [EnableExpensiveChecks](#cycloneddsdomaininternalenableexpensivechecks), [GenerateKeyhash](#cycloneddsdomaininternalgeneratekeyhash), [HeartbeatInterval](#cycloneddsdomaininternalheartbeatinterval), [LateAckMode](#cycloneddsdomaininternallateackmode), [LeaseDuration](#cycloneddsdomaininternalleaseduration), [LivelinessMonitoring](#cycloneddsdomaininternallivelinessmonitoring), [MaxParticipants](#cycloneddsdomaininternalmaxparticipants), [MaxQueuedRexmitBytes](#cycloneddsdomaininternalmaxqueuedrexmitbytes), [MaxQueuedRexmitMessages](#cycloneddsdomaininternalmaxqueuedrexmitmessages), [MaxSampleSize](#cycloneddsdomaininternalmaxsamplesize), [MeasureHbToAckLatency](#cycloneddsdomaininternalmeasurehbtoacklatency), [MinimumSocketReceiveBufferSize](#cycloneddsdomaininternalminimumsocketreceivebuffersize), [MinimumSocketSendBufferSize](#cycloneddsdomaininternalminimumsocketsendbuffersize), [MonitorPort](#cycloneddsdomaininternalmonitorport), [MultipleReceiveThreads](#cycloneddsdomaininternalmultiplereceivethreads), [NackDelay](#cycloneddsdomaininternalnackdelay), [PreEmptiveAckDelay](#cycloneddsdomaininternalpreemptiveackdelay), [PrimaryReorderMaxSamples](#cycloneddsdomaininternalprimaryreordermaxsamples), [PrioritizeRetransmit](#cycloneddsdomaininternalprioritizeretransmit), [RediscoveryBlacklistDuration](#cycloneddsdomaininternalrediscoveryblacklistduration), [RetransmitMerging](#cycloneddsdomaininternalretransmitmerging), [RetransmitMergingPeriod](#cycloneddsdomaininternalretransmitmergingperiod), [RetryOnRejectBestEffort](#cycloneddsdomaininternalretryonrejectbesteffort), [SPDPResponseMaxDelay](#cycloneddsdomaininternalspdpresponsemaxdelay), [ScheduleTimeRounding](#cycloneddsdomaininternalscheduletimerounding), [SecondaryReorderMaxSamples](#cycloneddsdomaininternalsecondaryreordermaxsamples), [SendAsync](#cycloneddsdomaininternalsendasync), [SquashParticipants](#cycloneddsdomaininternalsquashparticipants), [SynchronousDeliveryLatencyBound](#cycloneddsdomaininternalsynchronousdeliverylatencybound), [SynchronousDeliveryPriorityThreshold](#cycloneddsdomaininternalsynchronousdeliveryprioritythreshold), [Test](#cycloneddsdomaininternaltest), [UnicastResponseToSPDPMessages](#cycloneddsdomaininternalunicastresponsetospdpmessages), [UseMulticastIfMreqn](#cycloneddsdomaininternalusemulticastifmreqn), [Watermarks](#cycloneddsdomaininternalwatermarks), [WriteBatch](#cycloneddsdomaininternalwritebatch), [WriterLingerDuration](#cycloneddsdomaininternalwriterlingerduration)
+Children: [AccelerateRexmitBlockSize](#cycloneddsdomaininternalacceleraterexmitblocksize), [AssumeMulticastCapable](#cycloneddsdomaininternalassumemulticastcapable), [AutoReschedNackDelay](#cycloneddsdomaininternalautoreschednackdelay), [BuiltinEndpointSet](#cycloneddsdomaininternalbuiltinendpointset), [ControlTopic](#cycloneddsdomaininternalcontroltopic), [DDSI2DirectMaxThreads](#cycloneddsdomaininternalddsi2directmaxthreads), [DefragReliableMaxSamples](#cycloneddsdomaininternaldefragreliablemaxsamples), [DefragUnreliableMaxSamples](#cycloneddsdomaininternaldefragunreliablemaxsamples), [DeliveryQueueMaxSamples](#cycloneddsdomaininternaldeliveryqueuemaxsamples), [EnableExpensiveChecks](#cycloneddsdomaininternalenableexpensivechecks), [GenerateKeyhash](#cycloneddsdomaininternalgeneratekeyhash), [HeartbeatInterval](#cycloneddsdomaininternalheartbeatinterval), [LateAckMode](#cycloneddsdomaininternallateackmode), [LeaseDuration](#cycloneddsdomaininternalleaseduration), [LivelinessMonitoring](#cycloneddsdomaininternallivelinessmonitoring), [MaxParticipants](#cycloneddsdomaininternalmaxparticipants), [MaxQueuedRexmitBytes](#cycloneddsdomaininternalmaxqueuedrexmitbytes), [MaxQueuedRexmitMessages](#cycloneddsdomaininternalmaxqueuedrexmitmessages), [MaxSampleSize](#cycloneddsdomaininternalmaxsamplesize), [MeasureHbToAckLatency](#cycloneddsdomaininternalmeasurehbtoacklatency), [MinimumSocketReceiveBufferSize](#cycloneddsdomaininternalminimumsocketreceivebuffersize), [MinimumSocketSendBufferSize](#cycloneddsdomaininternalminimumsocketsendbuffersize), [MonitorPort](#cycloneddsdomaininternalmonitorport), [MultipleReceiveThreads](#cycloneddsdomaininternalmultiplereceivethreads), [NackDelay](#cycloneddsdomaininternalnackdelay), [PreEmptiveAckDelay](#cycloneddsdomaininternalpreemptiveackdelay), [PrimaryReorderMaxSamples](#cycloneddsdomaininternalprimaryreordermaxsamples), [PrioritizeRetransmit](#cycloneddsdomaininternalprioritizeretransmit), [RediscoveryBlacklistDuration](#cycloneddsdomaininternalrediscoveryblacklistduration), [RetransmitMerging](#cycloneddsdomaininternalretransmitmerging), [RetransmitMergingPeriod](#cycloneddsdomaininternalretransmitmergingperiod), [RetryOnRejectBestEffort](#cycloneddsdomaininternalretryonrejectbesteffort), [SPDPResponseMaxDelay](#cycloneddsdomaininternalspdpresponsemaxdelay), [ScheduleTimeRounding](#cycloneddsdomaininternalscheduletimerounding), [SecondaryReorderMaxSamples](#cycloneddsdomaininternalsecondaryreordermaxsamples), [SendAsync](#cycloneddsdomaininternalsendasync), [SquashParticipants](#cycloneddsdomaininternalsquashparticipants), [SynchronousDeliveryLatencyBound](#cycloneddsdomaininternalsynchronousdeliverylatencybound), [SynchronousDeliveryPriorityThreshold](#cycloneddsdomaininternalsynchronousdeliveryprioritythreshold), [Test](#cycloneddsdomaininternaltest), [UnicastResponseToSPDPMessages](#cycloneddsdomaininternalunicastresponsetospdpmessages), [UseMulticastIfMreqn](#cycloneddsdomaininternalusemulticastifmreqn), [Watermarks](#cycloneddsdomaininternalwatermarks), [WriteBatch](#cycloneddsdomaininternalwritebatch), [WriterLingerDuration](#cycloneddsdomaininternalwriterlingerduration)
The Internal elements deal with a variety of settings that evolving and
@@ -687,25 +580,6 @@ Valid values are finite durations with an explicit unit or the keyword
The default value is: "1 s".
-#### //CycloneDDS/Domain/Internal/AuxiliaryBandwidthLimit
-Number-with-unit
-
-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.
-
-The unit must be specified explicitly. Recognised units: Xb/s, Xbps for
-bits/s or XB/s, XBps for bytes/s; where X is an optional prefix: k for
-10^3, Ki for 210, M for 106, Mi for 220,
-G for 109, Gi for 230.
-
-The default value is: "inf".
-
-
#### //CycloneDDS/Domain/Internal/BuiltinEndpointSet
One of: full, writers, minimal
diff --git a/etc/cyclonedds.rnc b/etc/cyclonedds.rnc
index 41e0b7f..de54eef 100644
--- a/etc/cyclonedds.rnc
+++ b/etc/cyclonedds.rnc
@@ -14,98 +14,6 @@ domain ids.
The default value is: "any".
""" ] ]
text
}?
& [ a:documentation [ xml:lang="en" """
-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.
""" ] ]
- element Channels {
- [ a:documentation [ xml:lang="en" """
-This element defines a channel.
""" ] ]
- element Channel {
- [ a:documentation [ xml:lang="en" """
-This attribute specifies name of this channel. The name should
-uniquely identify the channel.
""" ] ]
- attribute Name {
- text
- }
- & [ a:documentation [ xml:lang="en" """
-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.
The default value is: "0".
""" ] ]
- attribute TransportPriority {
- xsd:integer
- }?
- & [ a:documentation [ xml:lang="en" """
-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.
-
-The unit must be specified explicitly. Recognised units: Xb/s,
-Xbps for bits/s or XB/s, XBps for bytes/s; where
-X is an optional prefix: k for 103, Ki for
-210, M for 106, Mi for 220, G for
-109, Gi for 230.
The default value is:
-"inf".
""" ] ]
- element AuxiliaryBandwidthLimit {
- bandwidth
- }?
- & [ a:documentation [ xml:lang="en" """
-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.
-
-The unit must be specified explicitly. Recognised units: Xb/s,
-Xbps for bits/s or XB/s, XBps for bytes/s; where
-X is an optional prefix: k for 103, Ki for
-210, M for 106, Mi for 220, G for
-109, Gi for 230.
The default value is:
-"inf".
""" ] ]
- element DataBandwidthLimit {
- bandwidth
- }?
- & [ a:documentation [ xml:lang="en" """
-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.
-
-Windows platform support for setting the diffserv field is dependent on
-the OS version.
-
-For Windows versions XP SP2 and 2003 to use the diffserv field the
-following parameter should be added to the register:
-
-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\DisableUserTOSSetting
-
-The type of this parameter is a DWORD and its value should be set to 0 to
-allow setting of the diffserv field.
-
-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.
The default value
-is: "0".
""" ] ]
- element DiffServField {
- xsd:integer
- }?
- }*
- }?
- & [ a:documentation [ xml:lang="en" """
The Compatibility elements allows specifying various settings related
to compatability with standards and with other DDSI implementations.
""" ] ]
element Compatibility {
@@ -567,24 +475,6 @@ day.The default value is: "1 s".
""" ] ]
duration_inf
}?
& [ a:documentation [ xml:lang="en" """
-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.
-
-The unit must be specified explicitly. Recognised units: Xb/s,
-Xbps for bits/s or XB/s, XBps for bytes/s; where
-X is an optional prefix: k for 103, Ki for
-210, M for 106, Mi for 220, G for
-109, Gi for 230.
The default value is:
-"inf".
""" ] ]
- element AuxiliaryBandwidthLimit {
- bandwidth
- }?
- & [ a:documentation [ xml:lang="en" """
This element controls which participants will have which built-in
endpoints for the discovery and liveliness protocols. Valid values
are:
diff --git a/etc/cyclonedds.xsd b/etc/cyclonedds.xsd
index 591cb94..7e2beed 100644
--- a/etc/cyclonedds.xsd
+++ b/etc/cyclonedds.xsd
@@ -18,7 +18,6 @@ CycloneDDS configuration
-
@@ -50,118 +49,6 @@ domain ids.</p><p>The default value is: "any".<
-
-
-
-<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>
-
-
-
-
-
-
-
-
-
-
-<p>This element defines a channel.</p>
-
-
-
-
-
-
-<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>
-
-
-
-
-
-
-
-
-<p>This attribute specifies name of this channel. The name should
-uniquely identify the channel.</p>
-
-
-
-
-
-<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>
-
-
-
-
-
-
-
-<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>
-
-
-
-
-
-<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>
-
-
@@ -732,25 +619,6 @@ reserved. This includes renaming or moving options.</p>
-
-
-
-<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>
-
-