Support multiple domains in configuration
Change the structure of the configuration file (in a backwards compatible manner) to allow specifying configurations for multiple domains in a file. (Listing multiple files in CYCLONEDDS_URI was already supported.) A configuration specifies an id, with a default of any, configurations for an incompatible id are ignored. If the application specifies an id other than DDS_DOMAIN_DEFAULT in the call to create_participant, then only configuration specifications for Domain elements with that id or with id "any" will be used. If the application does specify DDS_DOMAIN_DEFAULT, then the id will be taken from the first Domain element that specifies an id. If none do, the domain id defaults to 0. Each applicable domain specification is taken as a separate source and may override settings made previously. All settings moved from the top-level CycloneDDS element to the CycloneDDS/Domain element. The CycloneDDS/Domain/Id element moved to become the "id" attribute of CycloneDDS/Domain. The old locations still work, with appropriate deprecation warnings. Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
parent
70a342991f
commit
891fc2b12f
27 changed files with 1161 additions and 711 deletions
|
@ -1549,6 +1549,7 @@ OPTIONS:\n\
|
|||
-M DUR require those participants to match within DUR seconds\n\
|
||||
-R TREF timestamps in the output relative to TREF instead of\n\
|
||||
process start\n\
|
||||
-i ID use domain ID instead of the default domain\n\
|
||||
\n\
|
||||
MODE... is zero or more of:\n\
|
||||
ping [R[Hz]] [size S] [waitset|listener]\n\
|
||||
|
@ -1856,7 +1857,7 @@ int main (int argc, char *argv[])
|
|||
|
||||
argv0 = argv[0];
|
||||
|
||||
while ((opt = getopt (argc, argv, "cd:D:n:k:uLK:T:M:N:R:h")) != EOF)
|
||||
while ((opt = getopt (argc, argv, "cd:D:i:n:k:uLK:T:M:N:R:h")) != EOF)
|
||||
{
|
||||
switch (opt)
|
||||
{
|
||||
|
@ -1872,6 +1873,7 @@ int main (int argc, char *argv[])
|
|||
break;
|
||||
}
|
||||
case 'D': dur = atof (optarg); if (dur <= 0) dur = HUGE_VAL; break;
|
||||
case 'i': did = (dds_domainid_t) atoi (optarg); break;
|
||||
case 'n': nkeyvals = (unsigned) atoi (optarg); break;
|
||||
case 'u': reliable = false; break;
|
||||
case 'k': histdepth = atoi (optarg); if (histdepth < 0) histdepth = 0; break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue