rework built-in topics again
Move details of built-in topics out of the DDSI core (so the only hooks remain). For this, rtps_term had to be split, so now it is "stop" followed by "fini". Add a notion of local writers that are not bound to a participant ("local orphans"), so that the local built-in topic writers can be created during initialization. This eliminates the "builtin" participant. This uncovered in inconsistency in the unit tests: on the one hand, a newly created participant is expected to have no child entities; on the other hand, the built-in topics were expected to be returned by find_topic ... This inconsistency has been resolved by creating them lazily and accepting that find_topic can't return them until they have been created. Special code was in place in dds_create_reader anyway, so it is not expected to have any real consequence for applications. Use a special WHC implementation that regenerates the data on the fly using the internal discovery tables of DDSI, so that the samples are only stored by readers. This eliminates the memory overhead of that existed previously when the WHC of the writers stored the data. No longer return topic name and type name in the built-in topics, they have been extracted already and are not accessible through the normal interface but do cause problems when comparing QoS. Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
parent
d6dcb0558d
commit
66076817e1
26 changed files with 876 additions and 919 deletions
|
@ -20,10 +20,8 @@ PREPEND(srcs_ddsi "${CMAKE_CURRENT_LIST_DIR}/src"
|
|||
ddsi_mcgroup.c
|
||||
ddsi_serdata.c
|
||||
ddsi_serdata_default.c
|
||||
ddsi_serdata_builtin.c
|
||||
ddsi_sertopic.c
|
||||
ddsi_sertopic_default.c
|
||||
ddsi_sertopic_builtin.c
|
||||
ddsi_rhc_plugin.c
|
||||
ddsi_iid.c
|
||||
ddsi_tkmap.c
|
||||
|
@ -76,7 +74,6 @@ PREPEND(hdrs_private_ddsi "${CMAKE_CURRENT_LIST_DIR}/include/ddsi"
|
|||
ddsi_serdata.h
|
||||
ddsi_sertopic.h
|
||||
ddsi_serdata_default.h
|
||||
ddsi_serdata_builtin.h
|
||||
ddsi_rhc_plugin.h
|
||||
ddsi_iid.h
|
||||
ddsi_tkmap.h
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue