-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Labels
good first issueGood for newcomersGood for newcomersrefactoringCode changes without introducing new featuresCode changes without introducing new features
Description
Brief feature description
The following maintenance tasks need to be done to keep the dds gateway code healthy:
- Update CMake build to retrieve cyclonedds-cxx library from the official github repository
- Refactor gateways to use new publisher/subscriber APIs
- Bring test coverage up to at least 70%
- Utilize the improved waitset to make the gateways reactive
- make
DataWriter::write
return acxx::expected
- add convertor from
mepoo::ChunkHeader
todds::IoxChunkDatagramHeader
- Findings budrus test run:
- No documentation how to setup a config file
- When building with the build script the cyclone libraries are in ...build/dependencies/install/lib64 (not documented but needed for setting LD_LIBRARY_PATH
- The default config should include the icedelivery topic. This allows to have a first running example with icedelivery
- "Terminated" endless loop when RouDi gets killed?
- Replace
Channel
concept withcxx::pair
(needs to be implemented)
These should be completed before further extension of the gateway.
Some ToDo items from #360:
- Modify implementation of
iox::dds::CycloneDataReader::hasNewSamples()
so it can be madeconst
- Resolve mismatch of uint sizes of
nextSampleSize
inCycloneDataReader::peekNextSize()
- Add error handling to semaphore creation in Iceoryx2DDS
main.cpp
- Simplify three nested lambdas in
void DDS2IceoryxGateway<channel_t, gateway_t>::forward()
. For exampleand only use for for reader->takeNext the approach with the lambda.auto maybeNextSize = reader->peakNextSize(); if(!maybeNextSize) { continue; } auto& size = maybeNextSize.value(); ...
It would be more code, but also less complex
Metadata
Metadata
Assignees
Labels
good first issueGood for newcomersGood for newcomersrefactoringCode changes without introducing new featuresCode changes without introducing new features