C# (CSharp) LCM.LCM Namespace

Classes

Name Description
LCM Lightweight Communications and Marshalling C#.NET implementation
LCM.SubscriptionRecord
LCMDataInputStream Will not throw EOF.
LCMDataOutputStream
MessageAggregator Accumulates received LCM messages in a queue.

{@link LCM} normally delivers messages asynchronously by invoking the {@link LCMSubscriber#messageReceived messageReceived} method on a subscriber as soon as a message is received. This class provides an alternate way to receive messages by storing them in an internal queue, and then delivering them to synchronously to the user.

The aggregator has configurable limits. If too many messages are aggregated without having been retrieved, then older messages are discarded.

MessageAggregator.Message A received message.
TCPProvider LCM provider for the tcp: URL. All messages are sent to a central "hub" process (that must be started separately), which will relay the messages to all other processes. TCPService is an implementation of the hub process. The tcpq:// protocol is NOT suitable for real-time or high-bandwidth traffic. It is specifically designed for playing back a log file in a post-processing context (i.e., play back the log as fast as possible, but without dropping anything). The .NET implementation is functionally equal to the Java version.
TCPProvider.ReaderThread
TCPService
TCPService.ClientThread
TCPService.ClientThread.SubscriptionRecord
UDPMulticastProvider LCM provider for the udpm: URL. All messages are broadcast over a pre-arranged UDP multicast address. Subscription operations are a no-op, since all messages are always broadcast. This mechanism is very simple, low-latency, and efficient due to not having to transmit messages more than once when there are multiple subscribers. Since it uses UDP, it is lossy.
UDPMulticastProvider.FragmentBuffer
URLParser Internal URL parsing engine