Erik Boasson
259e4676dc
fix sequencing of internal liveliness monitoring and rtps init/term
...
liveliness monitoring requires rtps stack initialised if initially deaf, so starting the monitoring thread must happen after rtps_init
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-10-28 13:54:17 +08:00
Erik Boasson
9cab5e769c
various interconnected changes for ddsi_serdata
...
- topic-erased key-only serdata for use in tkmap
- restoration of including key values in invalid samples
- special handling of keyless topics
- keyhash generation via streams
- elimination of dynamically allocated buffers in keyhash
- removal of the last vestiges of "serstate"
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-10-28 13:31:23 +08:00
Erik Boasson
fd931a2605
remove accidental return statement on the return of a void function
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-10-26 20:32:47 +08:00
Erik Boasson
e841e4bf94
add back in the broken filter and query condition support
...
the implementation was and is terrible, but without it too many tests fail
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-10-26 20:05:18 +08:00
Erik Boasson
791a0efe7e
replace some implementation dependent types in protocol message specifications
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-10-26 16:26:30 +08:00
Erik Boasson
a25f683bcf
abstract the internal representation of a sample
...
besides the old state being in dire need of cleaning up, this also paves the way for having any number of different sample representations in the system
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-10-26 16:25:26 +08:00
Jeroen Koekkoek
8fc9535316
Terminate address filter with OS_AF_NULL instead of 0 (AF_UNSPEC)
...
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-24 22:32:27 +02:00
Jeroen Koekkoek
25198e565b
Rename os_sockaddr_size to os_sockaddr_get_size for consitency
...
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-24 15:53:29 +02:00
Jeroen Koekkoek
6b41dada9d
Fix compiler warnings
...
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-19 17:35:08 +02:00
Jeroen Koekkoek
7ba3bca087
Change socket function signatures to use os_sockaddr
...
* Consolidated and cleaned up some (duplicate) functions.
* Removed some unused functions that did not make sense to keep around.
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-19 17:00:15 +02:00
Jeroen Koekkoek
458b1df3f7
Replace os_sockQueryInterfaces by os_getifaddrs
...
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-10-19 16:58:40 +02: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
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
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
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
5c0bdddc2a
clean up unused variables/functions
...
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
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
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
8e1bdb8855
add a function to get the address and size of serialised data
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-07-09 13:16:56 +02:00
Erik Boasson
daa17704db
Fix dds_sample_info.publication_handle incorrectly set to 1 as well as some corner cases where it ended up at 0 and some related assertion failures ( #8 )
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-07-06 21:28:23 +02:00
Erik Boasson
e1a797f73c
enable SSM support
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-06-13 15:52:43 +02:00
Erik Boasson
cf40d9df3f
Fixes for building on Windows (with thanks to @k0ekk0ek)
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-06-11 13:49:52 +02:00
Erik Boasson
86361871f9
losing the response to an SPDP message is really annoying if the interval is long, repeating it a few times is a pragmatic intermediate step until detecting whether or not a bidirectional connection has been established is implemented
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-06-08 12:46:37 +02:00
Erik Boasson
07600793b6
try to get the locator kind right when using UDP and the debug monitor port is enabled
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-06-07 16:52:08 +02:00
Erik Boasson
69613d5180
ignore configuration entries nested under an unknown element
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-06-05 15:09:01 +02:00
Erik Boasson
28c33bf99a
refuse to start on any configuration error that is not fatal for processing the configuration file
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-06-05 15:09:01 +02:00
Erik Boasson
0b80bffbcb
General/EnableLoopback is no longer useful and causes crashes when set to true, so eliminate it (marking the option as deprecated for now)
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-06-05 15:09:01 +02:00
Erik Boasson
12cc159949
fix crash on invalid configurations by setting thread pointer and log buffer to a statically allocated descriptor until the threading structures have been initialized properly
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-06-05 15:09:00 +02:00
Erik Boasson
33c89f0d47
removing ACKd messages with noidx optimisation can fail if samples have been written after matching multiple readers but before the first ACK arrives
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-06-05 15:09:00 +02:00
Erik Boasson
6d48d692ba
fix computing destination address set: a plain "char" is not signed on all platforms
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-06-05 15:09:00 +02:00
Erik Boasson
e876948a42
commit changes to ddsi_raweth.c that were left out of the f28b14a642348dc1544502b3981908ee2ecef447 by accident
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-06-05 15:09:00 +02:00
Erik Boasson
3d16f5f2ce
add support for running over ethernet without a configured IP stack
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-06-05 15:09:00 +02:00