nannou-org / ether-dream

A full implementation of the Ether Dream Laser DAC protocol in pure Rust.
Other
32 stars 1 forks source link

TCP stream fixes. Finer `protocol::command` control. Enable TCP_NODELAY. Expose more **TcpStream** methods. #3

Closed mitchmindtree closed 6 years ago

mitchmindtree commented 6 years ago

Fixes a bug where the UDP broadcast listener attempted to bind to the broadcast IP 255.255.255.255. It instead now binds to 0.0.0.0.

Methods have been added to the Begin, PointRate and Data commands to allow for more fine-grained reading of the fields from bytes.

Fixes an incorrect implementation of TCP stream reading. Streams now properly check that they've received the correct number of bytes before attempting to decode a command or response.

Enables TCP_NODELAY to reduce latency to adhere to the realtime requirements of laser DAC communication.

mitchmindtree commented 6 years ago

These changes have been published for both crates as version 0.2.0.