Ad

lcm: Lightweight Communications and Marshalling

LCM provides message passing and data marshalling for real-time systems. It enables efficient communication between processes with automatic code generation and cross-language support.
Screenshot of lcm-proj/lcm homepage

Lightweight Communications and Marshalling (LCM) facilitates message passing and data marshalling for real-time systems demanding high bandwidth and low latency. LCM enables direct peer-to-peer communication without a central hub. It uses a publish/subscribe model and automatic code generation to support multiple programming languages.

LCM distinguishes itself through its focus on low latency and minimal dependencies. It provides type-safe message marshalling and an efficient broadcast mechanism using UDP Multicast. The design emphasizes direct peer communication, eliminating the need for daemons or centralized databases.

  • Inter-process Communication: Enables low-latency communication between processes.
  • Data Marshalling: Provides type-safe code generation for automatic data conversion.
  • Platform Support: Supports GNU/Linux, macOS, and Windows.
  • Language Bindings: Supports C, C++, Java, Lua, MATLAB, and Python.
  • UDP Multicast: Offers efficient broadcast capabilities.
  • Direct Peer Communication: Eliminates the need for centralized components.
  • Low Dependencies: Minimizes external library requirements.

LCM is an active project with a roadmap focusing on stability and maintenance. Recent commits indicate ongoing development and issue resolution. While some languages are currently unmaintained, community contributions are welcome. Comprehensive documentation and active community support contribute to its reliability.

LCM benefits developers building real-time systems requiring efficient and reliable communication. Its use cases include embedded systems, distributed computing, and high-performance applications. LCM offers a valuable alternative to complex messaging frameworks, providing a lightweight and adaptable solution for inter-process communication.

Summarize:
Share:
Stars
1,187
Forks
425
Issues
139
Created
11 years ago
Commit
1 month ago
License
LGPL-2.1
Archived
No
Updated 17 days ago

Similar Repositories