FUTURE: handle > 1 group.
61 ACE_TEXT(
"(%P|%t) ERROR: RtpsDiscovery::Config::discovery_config(): ")
62 ACE_TEXT(
"rtps_discovery sections must have a subsection name\n")),
69 ACE_TEXT(
"(%P|%t) ERROR: RtpsDiscovery::Config::discovery_config(): ")
70 ACE_TEXT(
"too many nesting layers in the [rtps] section.\n")),
75 for (DCPS::KeyList::const_iterator it = keys.begin();
76 it != keys.end(); ++it) {
88 DCPS::ValueMap values;
90 for (DCPS::ValueMap::const_iterator it = values.begin();
91 it != values.end(); ++it) {
93 if (name ==
"ResendPeriod") {
98 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
99 ACE_TEXT(
"Invalid entry (%C) for ResendPeriod in ")
100 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
101 value.c_str(), rtps_name.c_str()), -1);
103 config->resend_period(TimeDuration(resend));
104 }
else if (name ==
"QuickResendRatio") {
109 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
110 ACE_TEXT(
"Invalid entry (%C) for QuickResendRatio in ")
111 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
112 value.c_str(), rtps_name.c_str()), -1);
114 config->quick_resend_ratio(ratio);
115 }
else if (name ==
"MinResendDelay") {
120 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
121 ACE_TEXT(
"Invalid entry (%C) for MinResendDelay in ")
122 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
123 value.c_str(), rtps_name.c_str()), -1);
126 }
else if (name ==
"LeaseDuration") {
131 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
132 ACE_TEXT(
"Invalid entry (%C) for LeaseDuration in ")
133 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
134 value.c_str(), rtps_name.c_str()), -1);
136 config->lease_duration(TimeDuration(duration));
137 }
else if (name ==
"MaxLeaseDuration") {
142 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
143 ACE_TEXT(
"Invalid entry (%C) for MaxLeaseDuration in ")
144 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
145 value.c_str(), rtps_name.c_str()), -1);
147 config->max_lease_duration(TimeDuration(duration));
148 #ifdef OPENDDS_SECURITY 149 }
else if (name ==
"SecurityUnsecureLeaseDuration") {
154 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
155 ACE_TEXT(
"Invalid entry (%C) for SecurityUnsecureLeaseDuration in ")
156 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
157 value.c_str(), rtps_name.c_str()), -1);
159 config->security_unsecure_lease_duration(TimeDuration(duration));
160 }
else if (name ==
"MaxParticipantsInAuthentication") {
162 unsigned int max_participants = 0;
165 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
166 ACE_TEXT(
"Invalid entry (%C) for MaxParticipantsInAuthentication in ")
167 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
168 value.c_str(), rtps_name.c_str()), -1);
170 config->max_participants_in_authentication(max_participants);
172 }
else if (name ==
"LeaseExtension") {
177 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
178 ACE_TEXT(
"Invalid entry (%C) for LeaseExtension in ")
179 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
180 value.c_str(), rtps_name.c_str()), -1);
182 config->lease_extension(TimeDuration(extension));
183 }
else if (name ==
"PB") {
188 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
189 ACE_TEXT(
"Invalid entry (%C) for PB in ")
190 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
191 value.c_str(), rtps_name.c_str()), -1);
194 }
else if (name ==
"DG") {
199 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
200 ACE_TEXT(
"Invalid entry (%C) for DG in ")
201 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
202 value.c_str(), rtps_name.c_str()), -1);
205 }
else if (name ==
"PG") {
210 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
211 ACE_TEXT(
"Invalid entry (%C) for PG in ")
212 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
213 value.c_str(), rtps_name.c_str()), -1);
216 }
else if (name ==
"D0") {
221 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
222 ACE_TEXT(
"Invalid entry (%C) for D0 in ")
223 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
224 value.c_str(), rtps_name.c_str()), -1);
227 }
else if (name ==
"D1") {
232 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
233 ACE_TEXT(
"Invalid entry (%C) for D1 in ")
234 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
235 value.c_str(), rtps_name.c_str()), -1);
238 }
else if (name ==
"DX") {
243 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
244 ACE_TEXT(
"Invalid entry (%C) for DX in ")
245 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
246 value.c_str(), rtps_name.c_str()), -1);
249 }
else if (name ==
"TTL") {
251 unsigned short ttl_us = 0;
254 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
255 ACE_TEXT(
"Invalid entry (%C) for TTL in ")
256 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
257 value.c_str(), rtps_name.c_str()), -1);
259 config->ttl(static_cast<unsigned char>(ttl_us));
260 }
else if (name ==
"SendBufferSize") {
262 ACE_INT32 send_buffer_size = 0;
265 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
266 ACE_TEXT(
"Invalid entry (%C) for SendBufferSize in ")
267 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
268 value.c_str(), rtps_name.c_str()), -1);
270 config->send_buffer_size(send_buffer_size);
271 }
else if (name ==
"RecvBufferSize") {
273 ACE_INT32 recv_buffer_size = 0;
276 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
277 ACE_TEXT(
"Invalid entry (%C) for RecvBufferSize in ")
278 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
279 value.c_str(), rtps_name.c_str()), -1);
281 config->recv_buffer_size(recv_buffer_size);
282 }
else if (name ==
"SedpMulticast") {
287 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config ")
288 ACE_TEXT(
"Invalid entry (%C) for SedpMulticast in ")
289 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
290 value.c_str(), rtps_name.c_str()), -1);
292 config->sedp_multicast(
bool(smInt));
293 }
else if (name ==
"MulticastInterface") {
294 config->multicast_interface(it->second);
295 }
else if (name ==
"SedpLocalAddress") {
297 if (addr.
set(it->second.c_str())) {
299 ACE_TEXT(
"(%P|%t) ERROR: RtpsDiscovery::Config::discovery_config(): ")
300 ACE_TEXT(
"failed to parse SedpLocalAddress %C\n"),
304 config->sedp_local_address(addr);
305 }
else if (name ==
"SedpAdvertisedLocalAddress") {
307 if (addr.
set(it->second.c_str())) {
309 ACE_TEXT(
"(%P|%t) ERROR: RtpsDiscovery::Config::discovery_config(): ")
310 ACE_TEXT(
"failed to parse SedpAdvertisedLocalAddress %C\n"),
314 config->sedp_advertised_address(addr);
315 }
else if (name ==
"SpdpLocalAddress") {
317 if (addr.
set(u_short(0), it->second.c_str())) {
319 ACE_TEXT(
"(%P|%t) ERROR: RtpsDiscovery::Config::discovery_config(): ")
320 ACE_TEXT(
"failed to parse SpdpLocalAddress %C\n"),
324 config->spdp_local_address(addr);
325 }
else if (name ==
"SpdpRequestRandomPort") {
330 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config ")
331 ACE_TEXT(
"Invalid entry (%C) for SpdpRequestRandomPort in ")
332 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
333 value.c_str(), rtps_name.c_str()), -1);
335 config->spdp_request_random_port(
bool(smInt));
336 }
else if (name ==
"GuidInterface") {
337 config->guid_interface(it->second);
338 }
else if (name ==
"InteropMulticastOverride") {
341 if (addr.
set(u_short(0), it->second.c_str())) {
343 ACE_TEXT(
"(%P|%t) ERROR: RtpsDiscovery::Config::discovery_config(): ")
344 ACE_TEXT(
"failed to parse InteropMulticastOverride %C\n"),
348 config->default_multicast_group(addr);
349 }
else if (name ==
"SpdpSendAddrs") {
354 i = value.find_first_not_of(
' ', i);
355 const size_t n = value.find_first_of(
", ", i);
356 spdp_send_addrs.push_back(value.substr(i, (n == OPENDDS_STRING::npos) ? n : n - i));
357 i = value.find(
',', i);
358 }
while (i++ != OPENDDS_STRING::npos);
359 config->spdp_send_addrs(spdp_send_addrs);
360 }
else if (name ==
"SpdpRtpsRelayAddress") {
362 if (addr.
set(it->second.c_str())) {
364 ACE_TEXT(
"(%P|%t) ERROR: RtpsDiscovery::Config::discovery_config(): ")
365 ACE_TEXT(
"failed to parse SpdpRtpsRelayAddress %C\n"),
369 config->spdp_rtps_relay_address(addr);
370 }
else if (name ==
"SpdpRtpsRelayBeaconPeriod") {
372 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
373 ACE_TEXT(
"Entry SpdpRtpsRelayBeaconPeriod is deprecated and will be ignored.\n")));
374 }
else if (name ==
"SpdpRtpsRelaySendPeriod") {
379 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
380 ACE_TEXT(
"Invalid entry (%C) for SpdpRtpsRelaySendPeriod in ")
381 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
382 value.c_str(), rtps_name.c_str()), -1);
384 config->spdp_rtps_relay_send_period(TimeDuration(period));
385 }
else if (name ==
"SedpRtpsRelayAddress") {
387 if (addr.
set(it->second.c_str())) {
389 ACE_TEXT(
"(%P|%t) ERROR: RtpsDiscovery::Config::discovery_config(): ")
390 ACE_TEXT(
"failed to parse SedpRtpsRelayAddress %C\n"),
394 config->sedp_rtps_relay_address(addr);
395 }
else if (name ==
"SedpRtpsRelayBeaconPeriod") {
397 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
398 ACE_TEXT(
"Entry SedpRtpsRelayBeaconPeriod is deprecated and will be ignored.\n")));
399 }
else if (name ==
"RtpsRelayOnly") {
404 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config ")
405 ACE_TEXT(
"Invalid entry (%C) for RtpsRelayOnly in ")
406 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
407 value.c_str(), rtps_name.c_str()), -1);
409 config->rtps_relay_only(
bool(smInt));
410 }
else if (name ==
"UseRtpsRelay") {
415 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config ")
416 ACE_TEXT(
"Invalid entry (%C) for UseRtpsRelay in ")
417 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
418 value.c_str(), rtps_name.c_str()), -1);
420 config->use_rtps_relay(
bool(smInt));
421 #ifdef OPENDDS_SECURITY 422 }
else if (name ==
"SpdpStunServerAddress") {
424 if (addr.
set(it->second.c_str())) {
426 ACE_TEXT(
"(%P|%t) ERROR: RtpsDiscovery::Config::discovery_config(): ")
427 ACE_TEXT(
"failed to parse SpdpStunServerAddress %C\n"),
431 config->spdp_stun_server_address(addr);
432 }
else if (name ==
"SedpStunServerAddress") {
434 if (addr.
set(it->second.c_str())) {
436 ACE_TEXT(
"(%P|%t) ERROR: RtpsDiscovery::Config::discovery_config(): ")
437 ACE_TEXT(
"failed to parse SedpStunServerAddress %C\n"),
441 config->sedp_stun_server_address(addr);
442 }
else if (name ==
"UseIce") {
447 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config ")
448 ACE_TEXT(
"Invalid entry (%C) for UseIce in ")
449 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
450 value.c_str(), rtps_name.c_str()), -1);
452 config->use_ice(
bool(smInt));
454 ACE_ERROR_RETURN((LM_ERROR,
ACE_TEXT(
"(%P|%t) ERROR: Security must be enabled (-DCPSSecurity 1) when using ICE (UseIce)\n")), -1);
456 }
else if (name ==
"IceTa") {
464 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
465 ACE_TEXT(
"Invalid entry (%C) for IceTa in ")
466 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
467 string_value.c_str(), rtps_name.c_str()), -1);
469 }
else if (name ==
"IceConnectivityCheckTTL") {
477 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
478 ACE_TEXT(
"Invalid entry (%C) for IceConnectivityCheckTTL in ")
479 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
480 string_value.c_str(), rtps_name.c_str()), -1);
482 }
else if (name ==
"IceChecklistPeriod") {
490 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
491 ACE_TEXT(
"Invalid entry (%C) for IceChecklistPeriod in ")
492 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
493 string_value.c_str(), rtps_name.c_str()), -1);
495 }
else if (name ==
"IceIndicationPeriod") {
503 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
504 ACE_TEXT(
"Invalid entry (%C) for IceIndicationPeriod in ")
505 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
506 string_value.c_str(), rtps_name.c_str()), -1);
508 }
else if (name ==
"IceNominatedTTL") {
516 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
517 ACE_TEXT(
"Invalid entry (%C) for IceNominatedTTL in ")
518 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
519 string_value.c_str(), rtps_name.c_str()), -1);
521 }
else if (name ==
"IceServerReflexiveAddressPeriod") {
529 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
530 ACE_TEXT(
"Invalid entry (%C) for IceServerReflexiveAddressPeriod in ")
531 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
532 string_value.c_str(), rtps_name.c_str()), -1);
534 }
else if (name ==
"IceServerReflexiveIndicationCount") {
541 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
542 ACE_TEXT(
"Invalid entry (%C) for IceServerReflexiveIndicationCount in ")
543 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
544 string_value.c_str(), rtps_name.c_str()), -1);
546 }
else if (name ==
"IceDeferredTriggeredCheckTTL") {
554 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
555 ACE_TEXT(
"Invalid entry (%C) for IceDeferredTriggeredCheckTTL in ")
556 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
557 string_value.c_str(), rtps_name.c_str()), -1);
559 }
else if (name ==
"IceChangePasswordPeriod") {
567 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
568 ACE_TEXT(
"Invalid entry (%C) for IceChangePasswordPeriod in ")
569 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
570 string_value.c_str(), rtps_name.c_str()), -1);
572 }
else if (name ==
"MaxAuthTime") {
577 config->max_auth_time(TimeDuration(int_value));
580 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
581 ACE_TEXT(
"Invalid entry (%C) for MaxAuthTime in ")
582 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
583 string_value.c_str(), rtps_name.c_str()), -1);
585 }
else if (name ==
"AuthResendPeriod") {
588 double double_value = 0.0;
593 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
594 ACE_TEXT(
"Invalid entry (%C) for AuthResendPeriod in ")
595 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
596 string_value.c_str(), rtps_name.c_str()), -1);
599 }
else if (name ==
"MaxSpdpSequenceMsgResetChecks") {
603 config->max_spdp_sequence_msg_reset_check(value);
606 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
607 ACE_TEXT(
"Invalid entry (%C) for MaxSpdpSequenceMsgResetChecks in ")
608 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
609 string_value.c_str(), rtps_name.c_str()), -1);
611 }
else if (name ==
"SedpMaxMessageSize") {
615 config->sedp_max_message_size(value);
618 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
619 ACE_TEXT(
"Invalid entry (%C) for SedpMaxMessageSize in ")
620 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
621 string_value.c_str(), rtps_name.c_str()), -1);
623 }
else if (name ==
"SedpHeartbeatPeriod") {
630 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
631 ACE_TEXT(
"Invalid entry (%C) for SedpHeartbeatPeriod in ")
632 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
633 string_value.c_str(), rtps_name.c_str()), -1);
635 }
else if (name ==
"SedpNakResponseDelay") {
642 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
643 ACE_TEXT(
"Invalid entry (%C) for SedpNakResponseDelay in ")
644 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
645 string_value.c_str(), rtps_name.c_str()), -1);
647 }
else if (name ==
"SedpSendDelay") {
654 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
655 ACE_TEXT(
"Invalid entry (%C) for SedpSendDelay in ")
656 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
657 string_value.c_str(), rtps_name.c_str()), -1);
659 }
else if (name ==
"SedpFragmentReassemblyTimeout") {
666 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
667 ACE_TEXT(
"Invalid entry (%C) for SedpFragmentReassemblyTimeout in ")
668 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
669 string_value.c_str(), rtps_name.c_str()), -1);
671 }
else if (name ==
"SedpPassiveConnectDuration") {
678 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
679 ACE_TEXT(
"Invalid entry (%C) for SedpPassiveConnectDuration in ")
680 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
681 string_value.c_str(), rtps_name.c_str()), -1);
683 }
else if (name ==
"SecureParticipantUserData") {
687 ACE_ERROR((LM_ERROR,
ACE_TEXT(
"(%P|%t) ERROR: RtpsDiscovery::Config::discovery_config: ")
688 ACE_TEXT(
"Invalid entry (%C) for SecureParticipantUserData in ")
689 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
690 string_value.c_str(), rtps_name.c_str()));
693 config->secure_participant_user_data(int_value);
694 }
else if (name ==
"Customization") {
697 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
698 ACE_TEXT(
"%C section has a Customization setting.\n"),
701 }
else if (name ==
"UndirectedSpdp") {
706 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config ")
707 ACE_TEXT(
"Invalid entry (%C) for UndirectedSpdp in ")
708 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
709 value.c_str(), rtps_name.c_str()), -1);
711 config->undirected_spdp(
bool(smInt));
712 }
else if (name ==
"PeriodicDirectedSpdp") {
717 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config ")
718 ACE_TEXT(
"Invalid entry (%C) for PeriodicDirectedSpdp in ")
719 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
720 value.c_str(), rtps_name.c_str()), -1);
722 config->periodic_directed_spdp(
bool(smInt));
723 }
else if (name ==
"TypeLookupServiceReplyTimeout") {
728 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
729 ACE_TEXT(
"Invalid entry (%C) for TypeLookupServiceReplyTimeout in ")
730 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
731 value.c_str(), rtps_name.c_str()), -1);
734 }
else if (name ==
"UseXTypes") {
738 smInt >= 0 && smInt <= 2;
740 config->use_xtypes(static_cast<RtpsDiscoveryConfig::UseXTypes>(smInt));
742 valid = config->use_xtypes(value.c_str());
746 "(%P|%t) RtpsDiscovery::Config::discovery_config: " 747 "Invalid entry (%C) for UseXTypes in " 748 "[rtps_discovery/%C] section.\n",
749 value.c_str(), rtps_name.c_str()));
752 }
else if (name ==
"SedpResponsiveMode") {
757 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config ")
758 ACE_TEXT(
"Invalid entry (%C) for SedpResponsiveMode in ")
759 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
760 value.c_str(), rtps_name.c_str()), -1);
762 config->sedp_responsive_mode(
bool(smInt));
763 }
else if (name ==
"SedpReceivePreallocatedMessageBlocks") {
764 const String& string_value = it->second;
767 config->sedp_receive_preallocated_message_blocks(value);
770 "(%P|%t) RtpsDiscovery::Config::discovery_config(): " 771 "Invalid entry (%C) for SedpReceivePreallocatedMessageBlocks in " 772 "[rtps_discovery/%C] section.\n",
773 string_value.c_str(), rtps_name.c_str()), -1);
775 }
else if (name ==
"SedpReceivePreallocatedDataBlocks") {
776 const String& string_value = it->second;
779 config->sedp_receive_preallocated_data_blocks(value);
782 "(%P|%t) RtpsDiscovery::Config::discovery_config(): " 783 "Invalid entry (%C) for SedpReceivePreallocatedDataBlocks in " 784 "[rtps_discovery/%C] section.\n",
785 string_value.c_str(), rtps_name.c_str()), -1);
787 }
else if (name ==
"CheckSourceIp") {
792 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config ")
793 ACE_TEXT(
"Invalid entry (%C) for CheckSourceIp in ")
794 ACE_TEXT(
"[rtps_discovery/%C] section.\n"),
795 value.c_str(), rtps_name.c_str()), -1);
797 config->check_source_ip(
bool(smInt));
800 ACE_TEXT(
"(%P|%t) RtpsDiscovery::Config::discovery_config(): ")
801 ACE_TEXT(
"Unexpected entry (%C) in [rtps_discovery/%C] section.\n"),
802 name.c_str(), rtps_name.c_str()), -1);
812 const DCPS::Service_Participant::RepoKeyDiscoveryMap& discoveryMap =
TheServiceParticipant->discoveryMap();
813 if (discoveryMap.find(Discovery::DEFAULT_RTPS) == discoveryMap.end()) {
814 TheServiceParticipant->add_discovery(OpenDDS::DCPS::make_rch<RtpsDiscovery>(Discovery::DEFAULT_RTPS));
AddrVec spdp_send_addrs() const
const LogLevel::Value value
void server_reflexive_address_period(const DCPS::TimeDuration &x)
RtpsDiscoveryConfig_rch config() const
void server_reflexive_indication_count(size_t x)
void indication_period(const DCPS::TimeDuration &x)
virtual const ACE_Configuration_Section_Key & root_section(void) const
OpenDDS::DCPS::RcHandle< RtpsDiscoveryConfig > RtpsDiscoveryConfig_rch
void deferred_triggered_check_ttl(const DCPS::TimeDuration &x)
void checklist_period(const DCPS::TimeDuration &x)
void T_a(const DCPS::TimeDuration &x)
void nominated_ttl(const DCPS::TimeDuration &x)
static TimeDuration from_msec(const ACE_UINT64 &ms)
void change_password_period(const DCPS::TimeDuration &x)
RtpsDiscoveryConfig::AddrVec AddrVec
static const ACE_TCHAR RTPS_SECTION_NAME[]
int set(const ACE_INET_Addr &)
bool convertToDouble(const String &s, T &value)
OpenDDS_Dcps_Export unsigned int DCPS_debug_level
OpenDDS::DCPS::RcHandle< RtpsDiscovery > RtpsDiscovery_rch
virtual int open_section(const ACE_Configuration_Section_Key &base, const ACE_TCHAR *sub_section, bool create, ACE_Configuration_Section_Key &result)
static Configuration * instance()
void connectivity_check_ttl(const DCPS::TimeDuration &x)
static TimeDuration from_double(double duration)
int processSections(ACE_Configuration_Heap &cf, const ACE_Configuration_Section_Key &key, KeyList &subsections)
#define ACE_ERROR_RETURN(X, Y)
static const String ip(const ACE_INET_Addr &addr)
int pullValues(ACE_Configuration_Heap &cf, const ACE_Configuration_Section_Key &key, ValueMap &values)
#define TheServiceParticipant
bool convertToInteger(const String &s, T &value)