Commit graph

935 commits

Author SHA1 Message Date
Erik Boasson
d1c5cd9b57 set ^C handler just before writing samples and rely on default action to terminate the process when waiting a matching subscriber
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-10-14 14:02:47 +08:00
Erik Boasson
bb92294f4e Let dds_create_participant determine domain id if config specifies "any" (new default)
Note: DDS_DOMAIN_DEFAULT with a configuration specifying "any" results in domain 0.
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-10-14 14:02:47 +08:00
Erik Boasson
feb5ba647e handle threads stopping while trying to get a stack trace
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
30fe3dc803 disable multicast when selected interface doesn't support it
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
5edd55bc64 when closing trace file check for stdout or stderr
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
d76a537bb6 explicitly initialising all fields of struct msghdr instead of memset saves a noticeable amount of time
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
4f0b9cb471 improve performance by allowing multiple receive threads and avoiding multiplexing I/O
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
508d56b427 should not reschedule SPDP event if there is no SPDP writer
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
40f046ea3a switch to reporting (one-way) latency instead of round-trip times
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
098378cd89 fix roundtrip cleanup code trying to delete non-existent entities
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
e040d61246 transmit path should use unicast socket
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
cf754b0141 add one final trace line after DDSI stack shuts down
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
0873f4a401 use kqueue for input multiplexing on macOS
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
48d770d40f return false instead of crashing when invalid addresses are passed to ddsi_is_mcaddr/ddsi_is_ssm_mcaddr
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
bb8d3d808c remove some memsets for unnecessarily clearing padding
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
e84e644702 remove unused global mutex
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
9bd0a519fc default to a RelWithDebInfo build if cmake is invoked without setting CMAKE_BUILD_TYPE
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-09-21 11:00:43 +02:00
Erik Boasson
b3bf57de00 fix incorrect warning fix in dds_entity_observer_unregister
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-09 09:23:03 +02:00
Erik Boasson
b7487b18a6 stricter warning checks and the corresponding fixes
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-09 09:23:03 +02:00
Erik Boasson
87e4780446 multicast group membership should be tracked on locators without take the port number into account
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-09 09:23:03 +02:00
Jeroen Koekkoek
13e2e68b33 force Criterion to not run tests in parallel
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-08-06 16:13:05 +02:00
Jeroen Koekkoek
70f208cbd3 fix export of CYCLONEDDS_URI in test environment
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-08-06 15:10:29 +02:00
Jeroen Koekkoek
3752f93e78 remove debug message for Criterion_ddsc_config_simple_udp setup
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-08-06 15:10:23 +02:00
Jeroen Koekkoek
a7bd8f05aa use test environment set by add_criterion_executable for Criterion_ddsc_config_simple_udp test
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-08-06 15:10:16 +02:00
Jeroen Koekkoek
657325707c return early from os_reportExit if report stack is not initialized
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-08-06 15:10:10 +02:00
Jeroen Koekkoek
7147eac330 add shared library directory to PATH in test environment for Criterion_ddsc_config_simple_udp
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-08-06 15:09:33 +02:00
Jeroen Koekkoek
44ea435506 add support for Conan managed dependencies
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-08-06 15:09:24 +02:00
Jeroen Koekkoek
169b4129f0 set maximum timeout for tests to 10s
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-08-06 15:09:14 +02:00
Jeroen Koekkoek
977458c57a set DYLD_LIBRARY_PATH (macOS) and PATH (Windows) in test environment if linked against shared libraries
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-08-06 15:09:06 +02:00
Jeroen Koekkoek
085985dce7 add support for CUnit versions less than 2.1-3
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-08-06 15:08:54 +02:00
Erik Boasson
6ab48746c5 fix win64 compilation warnings
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-03 11:32:08 +02:00
Erik Boasson
e062da6798 rework roundtrip to print 99 percentile & max and to optionally use listeners
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-03 11:32:08 +02:00
Erik Boasson
5c0bdddc2a clean up unused variables/functions
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-03 11:32:08 +02:00
Erik Boasson
28c2dd2198 remove superfluous lock from dds writer
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-03 11:32:08 +02:00
Erik Boasson
61d98b46a6 abstract WHC and pull it out of core DDSI code
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-03 11:32:02 +02:00
Erik Boasson
37953f5c49 initial support for OpenIndiana
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-02 12:53:36 +02:00
Erik Boasson
52918b3003 Fix setting of IPv6 multicast address for join/leave multicast group
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-02 12:45:07 +02:00
Erik Boasson
296ef4de7d explicitly enable batching in pubsub
Automatic batching is not yet implemented but: it dramatically enhances performance in throughput tests, and enabling it in the config breaks manual publication of data in pubsub. For the time being, it makes more sense to enable manual batching programmatically and force the data out when needed.

Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-01 09:05:00 +02:00
Erik Boasson
7d22a343fc subscriber threads in pubsub have no need for a timeout
... and periodic wakeups for no good reason are bad for power management

Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-01 09:03:05 +02:00
Erik Boasson
9cdba8a186 let the GC thread sleep unless there is work todo
GC thread checks proxy leases and performs garbage collection of entities and instance map entries and there is no value in waking up periodically, so better sleep as long as possible and save some energy

Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-01 09:00:13 +02:00
Erik Boasson
a72a581cb0 make internal thread liveliness monitoring optional
Internal thread liveliness monitoring means having a thread that wakes up periodically, doing nothing but checking whether all seems well. In most case, this is not worth the resources and energy.

Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-01 08:57:40 +02:00
Erik Boasson
519a1ffb92 don't print anything for configuration entries that are deprecated
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-01 08:44:45 +02:00
Erik Boasson
e47ad57f09 change order of cleanup steps in (internal) dds_fini to match match initialisation order
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-08-01 08:44:01 +02:00
Erik Boasson
f4824b0b5d replace temporary hack that is dds_writecdr by a better but nonetheless still temporary hack
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-07-18 17:44:54 +02:00
Erik Boasson
bfb5874373 fix crashes when C++ global destructors call DDS code
- properly count invocations of os_osInit/os_osExit
- handle concurrent invocations of those
- provide a single mutex for use by dds_init
- eliminate use of atexit()
- attendant dds_init/dds_fini changes
- fix related crash in thread local storage cleanup

Signed-off-by: Erik Boasson <eb@ilities.com>
2018-07-18 17:44:41 +02:00
Erik Boasson
20d8ef6f0d do not start sendq thread if async mode is disabled
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-07-17 21:46:18 +02:00
Erik Boasson
ed551eecc1 eliminate support for multiple serstatepools: never used and a source of race conditions during shutdown
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-07-17 21:38:53 +02:00
Erik Boasson
520ca47938 lock observer list to avoid a race condition between attach/detach and signalling by a RHC
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-07-17 21:36:26 +02:00
Erik Boasson
24f622b114 add guard conditions
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-07-13 08:47:29 +02:00
Erik Boasson
414be4a569 General/EnableLoopback is deprecated and has no effect other than an error, remove it from configs
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-07-11 13:18:52 +02:00