crates.io badge documentation

tokio-socketcan

SocketCAN support for tokio based on the socketcan crate.

Example echo server

```rust use futuresutil::stream::StreamExt; use tokiosocketcan::{CANSocket, Error};

[tokio::main]

async fn main() -> Result<(), Error> { let mut socketrx = CANSocket::open("vcan0")?; let sockettx = CANSocket::open("vcan0")?; while let Some(Ok(frame)) = socketrx.next().await { sockettx.write_frame(frame)?.await?; } Ok(()) } ```

Testing

Integrating the test into a CI system is non-trivial as it relies on a vcan0 virtual can device existing. Adding one to most linux systems is pretty easy with root access but attaching a vcan device to a container for CI seems difficult to find support for.

To run the tests locally, though, setup should be simple:

sh sudo modprobe vcan sudo ip link add vcan0 type vcan sudo ip link set vcan0 up cargo test

Changelog

0.1.3

0.1.2