A mature standard for building publish subscribe systems, with a unique emphasis on quality of service parameters and fast cross platform implementations.
There are over 20 implementations of RTPS (well, of DDS, but RTPS underpins all those implementations). They range from FPGAs to C/C++/Java. This is the first Rust implementation.
Find the spec here: http://www.omg.org/spec/DDSI-RTPS/2.2/PDF/. It lacks in easy to read binary breakdown, but in general it does a good job of splitting format, purpose, and behavior. Unfortunately it does not read from beginning to end.
CDR:
- Enough serialization/deserialization to get by
- Full serialization/deserialization for all CDR types
- Set submessage endianness on the serializer
- Manage alignment
- Investigate how to make zero-allocation
RTPS:
- Entity thread abstraction
- Basic entity thread stats
- Message serialization
- Submessage header serialization
- Submessage content serialization
- UDP test client
- Built in entities for DDS
- Interop test with eProsima's modern, open-source C++ impl
Anyone who interacts with XDDS RTPS in any space including but not limited to this GitHub repository is expected to follow our code of conduct
You can use the stable rustc, rustup component add clippy
, and then try cargo clippy