Expand description
lsl-core — pure-Rust Lab Streaming Layer implementation.
This crate provides the Rust-native types and networking for LSL:
StreamInfo— stream metadataStreamOutlet— publish data on the networkStreamInlet— receive data from the networkresolver— discover streams via UDP multicast / broadcastxml_dom— mutable XML tree for<desc>metadata
Modules§
- clock
- High-resolution local clock, matching liblsl’s lsl_local_clock().
- config
- API configuration, matching liblsl’s
lsl_api.cfg. - inlet
- StreamInlet: receives data from the network.
- outlet
- StreamOutlet: publishes data on the lab network.
- postproc
- Timestamp post-processing filters.
- prelude
- Convenience re-exports.
- resolver
- Stream resolver: discovers streams on the network via UDP.
- sample
- Sample types and serialization matching liblsl protocol 1.10.
- send_
buffer - Send buffer: single-producer, multiple-consumer broadcast buffer for samples.
- signal_
quality - Signal quality metrics — SNR, dropout rate, jitter statistics.
- stream_
info - StreamInfo: describes the properties of a data stream.
- tcp_
server - TCP data server for a stream outlet.
- time_
receiver - Time correction: estimates clock offset between inlet and outlet machines.
- types
- Core type definitions matching liblsl’s types.
- udp_
server - UDP service responder for a stream outlet.
- xml_dom
- Mutable XML DOM for stream descriptions.
Provides a pugixml-compatible tree structure used by StreamInfo’s
<desc>element.
Statics§
- RUNTIME
- Shared tokio runtime used by outlet / UDP servers. Inlet data-receiver threads create their own single-threaded runtimes to avoid scheduling contention with the server accept-loops.