Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 

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
  • 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.

About

An implementation of CITP (Controller Interface Transport Protocol) in pure Rust.

Resources

License

Releases

No releases published

Packages

No packages published

Languages