Awesome
Candela
A straightforward communication framework for controlling LED lights.
Development Warning
This crate is under active development; interfaces may change substantially.
You've been warned.
Startup Protocol
Client / Controller
- Listen for a broadcast packet advertising a server startup.
- Respond to the sender of the broadcast packet with controller info.
- Broadcast packet internally specifies where to respond.
- Locks controller until either the server responds or a timeout which recycles this controller to the start of the connection protocol.
- Wait for a {connection type} connection from the server.
- Process messages as they arrive from the server.
Server
- Send out a broadcast message to discover clients
- Listen for a fixed amount of time for responses
- Parse the responses.
- Decide to which clients to connect.
- Initiate connections to clients.
- Send messages to clients via those connections.