Crate slimproto[][src]

Slim Protocol using Tokio and Futures

This library simplifies communicating with a Logitech Media Server, aka LMS, aka Slim Server by providing suitable asynchronous objects.

Primarily, communicating with the server is done by instantiating asynchronous Stream and Sink objects and then reading from and writing to them. Creating these protocol objects is done with SlimProto.

This library also provides a discover function to enable auto-discovery of LMS servers on the network and a StatusData struct to simplify the creation of the regular status messages the server requires.

In order to use this library it’s a good idea to have studied the Slim TCP Protocol first so that this library makes sense.


pub use capability::Capabilities;
pub use capability::Capability;
pub use proto::ClientMessage;
pub use proto::ServerMessage;
pub use proto::SlimProto;
pub use status::StatusCode;
pub use status::StatusData;



Provides the types needed to send capability data to the server.


This module provides the discover function which “pings” for a server on the network returning its address if it exists.


Contains the protocol object with which we interact with the server.


A convenience module for working with client status data.