slimproto/
lib.rs

1//! Slim Protocol for Rust Clients
2//!
3//! This library simplifies communicating with a [Logitech Media Server, aka LMS, aka Slim Server][lms].
4//!
5//! Primarily, communicating with the server is done by instantiating a `Server` object, connecting to
6//! the LMS server and then reading from and writing to supplied connection objects.
7//! See [SlimProto][slimproto].
8//!
9//! This library also provides a [discover][discover] function to enable auto-discovery of LMS
10//! servers on the network and a [StatusData][statusdata] struct to simplify the creation of the
11//! regular status messages the server requires.
12//!
13//! In order to use this library it's a good idea to have studied the [Slim TCP Protocol][slimtcp] first
14//! so that this library makes sense.
15//!
16//! [lms]: https://en.wikipedia.org/wiki/Logitech_Media_Server
17//! [slimproto]: crate::proto::SlimProto
18//! [discover]: crate::discovery::discover
19//! [statusdata]: crate::status::StatusData
20//! [slimtcp]: https://wiki.slimdevices.com/index.php/SlimProto_TCP_protocol
21
22pub mod capability;
23pub mod codec;
24pub mod discovery;
25pub mod proto;
26pub mod status;
27pub mod buffer;
28
29pub use capability::{Capabilities, Capability};
30pub use proto::{ClientMessage, ServerMessage};
31pub use framous::*;
32// pub use status::{StatusCode, StatusData};