8000 GitHub - Teufelchen1/slipmux: A rust crate for Slipmux
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

A rust crate for Slipmux

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

Teufelchen1/slipmux

Repository files navigation

Clippy & co

Slipmux: Using an UART interface for diagnostics, configuration, and packet transfer

Pure Rust implementation of draft-bormann-t2trg-slipmux-03.

Note: Frame aborting is not implemented!

What is Slipmux

Slipmux is a very simple framing and multiplexing protocol. It uses RFC1055, commonly known as serial line ip (slip), as a basis for encoding / decoding data streams into frames but extends it with multiplexing. Slipmux defines three frame types: traditional IP packets, diagnostic frames and configuration messages. Diagnostic frames are UTF-8 encoded strings intended as human-readable messages. Configuration messages are serialized CoAP messages.

Todo

  • Remove coap-lite dep
  • Don't leak types of the serial-line-ip-rs crate
  • Provide tests for IP packets
  • Implement FCS check sum for configuration frame
  • Implement frame abort
  • Make crate optional #[no_std]
  • Rethink public interfaces (generalise the usability):
    • Currently wild mix of [u8] and Vec<u8>
    • Impossible to know if the deocder is completely done or if bytes remain in its buffer
    • Error handling is tedious
  • Interoperability tests with other slipmux implementations

License

Licensed under either of

at your option.

Contribution

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

A rust crate for Slipmux

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages

0