Skip to content
/ rtps Public

Open implementation of the Real Time Publish Subscribe protocol

License

Notifications You must be signed in to change notification settings

xdds/rtps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Real Time Publish Subscribe

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

Code of Conduct

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

Clippy

You can use the stable rustc, rustup component add clippy, and then try cargo clippy

About

Open implementation of the Real Time Publish Subscribe protocol

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages