candid_server 0.3.1

A server for reading and relaying messages on a CAN bus
Documentation
# CANdid Server

A server that faciliates connections between remote TCP clients and a local CAN bus. Clients are
sent frames read off the bus, and may send frames back to the server that are then written to the
bus.

## Getting Started

### Prerequisites

Because the server uses the [socketcan](https://crates.io/crates/socketcan) crate, a wrapper for the
Linux SocketCAN kernel module, the server can only run  on a Linux system with the relevant modules
compiled and loaded.

### Installing

To install the server:
```
$ cargo install candid_server
```
To run the server on a `vcan0` interface and `localhost`:
```
# modprobe can can_raw vcan
# ip link add dev vcan0 type vcan
# ip link set up vcan0
$ candid_server 127.0.0.1:6556 vcan0
```
Use [candid_client](https://crates.io/crates/candid_client) to connect to the server. There are
examples [in the repository](https://gitlab.com/avandesa/candid-rs) for both sending and receiving
frames.

## Built With

* [SocketCAN]https://www.kernel.org/doc/html/v4.16/networking/can.html - The underlying kernel module.
* [socketcan Crate]https://crates.io/crates/socketcan - Rust bindings for the C library.
* [clap]https://crates.io/crates/clap - For command line argument parsing.
* [byteorder]https://crates.io/crates/byteorder - For writing frames

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details