Erik Boasson
65ac9b0711
fix error propagation in dds_get_qos
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2019-01-02 15:03:18 +01:00
Erik Boasson
9f51c44e50
Avoid deadlock on publication-matched listener invocation
...
This addresses the deadlock of #41 but leaves another issue open: sequencing of listener invocations on publication/subscription matched events: there is a risk that the "unmatch" even precedes the "match" event from the application perspective, even though it is quite unlike in practice. Various ways of addressing it exist, but it looks like sequencing at the level of the "dds" entities suffers from similar risks. So better to just avoid the deadlock for now.
Signed-off-by: Erik Boasson <eb@ilities.com>
2019-01-02 12:13:40 +01:00
Erik Boasson
ca99fd10aa
Refactor handling of an SPDP-republish event
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2019-01-02 12:13:40 +01:00
Erik Boasson
0064def595
Set cover in address set generation used a temporary that was too large by a factor of sizeof(void*)
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2019-01-02 12:13:40 +01:00
Erik Boasson
c491f321dd
Fix incorrect free of unicast socket/connection in rtps_init error handling
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2019-01-02 12:13:40 +01:00
Erik Boasson
27913be1c3
Fix memory leak in function to clear all writer address sets
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2019-01-02 12:13:40 +01:00
Erik Boasson
0b814df584
Use sizeof(sin_addr) in IPv4 address compare instead of effectively sizeof(size_t)
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2019-01-02 12:13:40 +01:00
Erik Boasson
d6306bddbb
Properly handle "incompatible if unrecognized" in parameter lists ( #79 )
...
Previously it would fall through and assert in a debug build or return an error in a release build. The behaviour in a release build was almost correct, as the flag means the entity should be completely ignored if the parameter is not understood by the implementation, but I don't believe it should result in a warning — certainly not that claims the parameter list is invalid. A specific return code is now used to indicate a parameter list that was rejected because of this flag, and that suppresses the warning.
Signed-off-by: Erik Boasson <eb@ilities.com>
2019-01-02 12:13:40 +01:00
Erik Boasson
e0d5587639
Unified key-to-iid map means a backref to the map is no longer needed
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2019-01-02 12:13:40 +01:00
eboasson
96da0c5555
Merge pull request #82 from eboasson/master
...
participants are not hidden built-in entities in built-in topics and should get an instance handle consistent with the DCPSParticipant topic
2019-01-01 19:54:55 +01:00
Erik Boasson
781c644800
participants are not hidden built-in entities in built-in topics and should get an instance handle consistent with the DCPSParticipant topic
...
Signed-off-by: Erik Boasson <erik.boasson@prismtech.com>
2019-01-01 18:52:27 +01:00
eboasson
46b1aa5366
Merge pull request #76 from eboasson/builtintopics
...
Fixes for memory leaks, out-of-bounds reads and race conditions working with instances
2018-12-25 15:21:14 +01:00
Erik Boasson
7a9f845636
enable address sanitizer on clang Debug builds by default
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-12-25 12:40:05 +01:00
Erik Boasson
179a35d192
fix race conditions in instance id-to-key lookup
...
this is just an intermediate step: firstly, iid-to-key lookup is a linear scan; secondly, the lookup should happen on the RHC or the WHC and not on some internal map to associates key values with instance handles and is independent of entities
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-12-25 12:40:05 +01:00
Erik Boasson
0f7ce1ac43
instance operations must also ensure thread is considered awake or GC may free tkmap instances prematurely
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-12-25 12:40:05 +01:00
Erik Boasson
84506b8518
rollback changes to dispose counts when resource limits reached during RHC update
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-12-25 12:40:05 +01:00
Erik Boasson
e96a47f3f9
fix test issues detected by address sanitizer
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-12-25 12:40:05 +01:00
Erik Boasson
98c53db057
fix leak of config data if a domain id problem leads to an initialization failure
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-12-25 12:40:05 +01:00
eboasson
97c5e06b6a
Merge pull request #69 from FirasSahliADLinktech/rename-functions
...
Make function names more consistent:
* ``dds_topic_{get,set}_filter`` -> ``dds_{get,set}_topic_filter``
* ``dds_{get,set}_enabled_status`` -> ``dds_{get,set}_status_mask``
* ``dds_instance_lookup`` -> ``dds_lookup_instance``
Plus removal of defunct ddsv2.h.
2018-12-25 12:38:25 +01:00
eboasson
4223fff818
Merge pull request #45 from eboasson/builtintopics
...
Rework builtin topics and add DCPSPublication and DPCSSubscription
2018-12-16 22:07:31 +01:00
Erik Boasson
1a0fcea0c2
replace old builtin topics by new ones and add implementation of DCPSSubscription and DCPSPublication
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-12-14 14:02:08 +01:00
Erik Boasson
78d49b52a0
add new "builtin topic" types and conversion routines
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-12-14 14:02:08 +01:00
Erik Boasson
945fc94de7
setting "must inspect result" on return_loan is pedantry
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-12-14 14:02:08 +01:00
Erik Boasson
e631567c35
extend sertopic interface and move the concept of a type descriptor to just the sertopic definition
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-12-14 14:02:08 +01:00
Erik Boasson
c169df6227
fix refcount leak of tkmap instances when copying transient-local history from a local writer
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-12-14 14:02:08 +01:00
Erik Boasson
ef65101ad7
pushing released serdata:s onto a freelist was dropped by accident in the rewriting of them
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-12-14 14:02:08 +01:00
Erik Boasson
29f542b916
iid and tkmap are integral to this DDSI stack and should be part of it
...
They were made available from the DCPS layer to DDSI using some function pointers, but it makes more sense to have them as part of the DDSI core.
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-12-14 14:02:08 +01:00
eboasson
19202d9de8
Merge pull request #70 from k0ekk0ek/fix-55
...
Do not require table to contain address if interface is down (Fixes #55 )
2018-12-12 17:34:23 +01:00
Angelo Corsaro
d0ea1e8389
Updated with latest performance number
2018-12-12 10:38:34 +01:00
Firas Sahli
9f51f6f9dc
Rename get and set filter functions for topic
...
Signed-off-by: Firas Sahli <firas.sahli@adlinktech.com>
2018-12-11 11:07:09 +01:00
Firas Sahli
05f961dec1
Rename get and set of enabled status to mask
...
Signed-off-by: Firas Sahli <firas.sahli@adlinktech.com>
2018-12-11 11:07:09 +01:00
Firas Sahli
99f410bc49
Rename dds_instance_lookup to dds_lookup_instance
...
Signed-off-by: Firas Sahli <firas.sahli@adlinktech.com>
2018-12-11 11:06:50 +01:00
Firas Sahli
af7e34f143
Remove ddsv2.h
...
Signed-off-by: Firas Sahli <firas.sahli@adlinktech.com>
2018-12-11 11:06:27 +01:00
Jeroen Koekkoek
3c5a209389
Fix build warnings by passing a message to CU_PASS
...
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-12-10 13:05:59 +01:00
Jeroen Koekkoek
3b69213f51
Do not require table to contain address if interface is down ( Fixes #55 )
...
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-12-10 13:05:59 +01:00
eboasson
31cc166047
Merge pull request #68 from k0ekk0ek/criterion-be-gone
...
Replace Criterion by CUnit
2018-12-06 16:01:50 +01:00
Jeroen Koekkoek
74a48c5731
Replace Criterion by CUnit
...
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-12-06 14:48:30 +01:00
eboasson
60752b3fd8
Merge pull request #67 from eboasson/master
...
Fix log calculation of available buffer space
2018-12-01 13:50:18 +01:00
Erik Boasson
e16c59e392
use sizeof(buffer) instead of uninitialised variable
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-12-01 12:58:22 +01:00
eboasson
f7cd4176b3
Merge pull request #66 from eboasson/master
...
fix warnings on qos function names and constness
2018-12-01 10:49:49 +01:00
Erik Boasson
e62abe623a
fix warnings on qos function names and constness
...
Signed-off-by: Erik Boasson <eb@ilities.com>
2018-12-01 10:01:13 +01:00
eboasson
df3d4476b5
Merge pull request #61 from k0ekk0ek/logging
...
Simplify and consolidate logging and tracing mechanisms
2018-12-01 09:51:43 +01:00
Jeroen Koekkoek
dc11ec3f6b
Add Travis CI debug instructions
...
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-11-30 23:42:58 +01:00
Jeroen Koekkoek
7acf32663e
Add tests for new logging implementation
...
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-11-30 23:42:55 +01:00
Jeroen Koekkoek
5b4ccf3daa
Fix bug in CUnit signature parser
...
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-11-30 23:42:29 +01:00
Jeroen Koekkoek
1cf03332ca
Simplify logging and remove unwanted functions from abstraction layer
...
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-11-30 23:42:19 +01:00
Jeroen Koekkoek
ac020f62f7
Add read-write locks for POSIX
...
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
2018-11-30 23:32:26 +01:00
eboasson
69f563be5b
Merge pull request #60 from FirasSahliADLinktech/multiple_tests
...
Some missing unit tests and correct signature
2018-11-30 12:07:44 +01:00
Firas Sahli
6908e3deea
Correct signature and add tests for dds_instance_get_key
...
Signed-off-by: Firas Sahli <firas.sahli@adlinktech.com>
2018-11-28 10:52:14 +01:00
Firas Sahli
8aa6ceff81
Add test for dds_qos_copy and extra check to dds_qset_partition
...
Signed-off-by: Firas Sahli <firas.sahli@adlinktech.com>
2018-11-28 10:41:24 +01:00