citp

Crates.iocitp
lib.rscitp
version0.2.1
sourcesrc
created_at2018-05-28 11:17:00.079897
updated_at2023-10-11 13:27:43.990991
descriptionA full implementation of CITP - Controller Interface Transport Protocol.
homepagehttps://github.com/nannou-org/citp
repositoryhttps://github.com/nannou-org/citp.git
max_upload_size
id67442
size113,150
Joshua Batty (JoshuaBatty)

documentation

README

citp Build Status Crates.io Crates.io docs.rs

A pure-rust implementation of CITP aka Controller Interface Transport Protocol. CITP is an open communications protocol for the integration of visualisers, lighting consoles and media servers.

Features

This implementation aims to implement the full CITP protocol as the specification describes. The spec can be found at citp-protocol.org.

  • The protocol module describes all constants and types within the specification and provides WriteBytes and ReadBytes traits for writing and reading any of these types to and from arrays of bytes.

    Each layer of the protocol is implemented under its own protocol sub-module.

    • protocol::pinf
    • protocol::sdmx
    • protocol::fptc
    • protocol::fsel
    • protocol::finf
    • protocol::msex
    • protocol::caex
  • The net module provides an implementation of the necessary broadcasting, multicasting, UDP and TCP streams described within the protocol for communication of the protocol over a network.

  • Further Work:

    • Types for listening to and iterating over received broadcast/multicast messages.
    • Examples for demonstrating basic usage of each part of the protocol.
    • Tests that write and then read every type within the protocol to ensure correctness of the WriteToBytes and ReadFromBytes implementations.

License

Licensed under either of

at your option.

Contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 17

cargo fmt