- Lightweight Communications and Marshalling
Overview
LCM (Lightweight Communications and Marshalling) is a package designed to allow multiple processes to exchange messages in a safe and high-performance way. LCM was designed foronline real-time applications communicating via private ethernets.
It is comprised of two basic components: a type-specification language that is used to generate platform and language independent marshalling/unmarshalling code, and a communications facility that implements a publish/subscribe model over UDP Multicast.
Both components introduce features that are absent in other communications systems. The data marshalling component encodes type information along with each message, allowing applications to safely detect when they are using incompatible type definitions. The communications component uses multicast UDP, a transport mechanism which provides low-latency messaging at the cost of reliable delivery.
Example type specification
struct temperature_t{ int64_t utime; double deg_celsius;}
Links
The project website is hosted at: [http://lcm.googlecode.com]
Wikimedia Foundation. 2010.