candid_server 0.2.3

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.

Repository: https://gitlab.com/avandesa/candid-rs

Documentation: https://docs.rs/crate/candid_server/

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

## Versioning

We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://gitlab.com/avandesa/candid-rs/tags). 

## Authors

* **Alex van de Sandt** - [avandesa](https://gitlab.com/avandesa)

## License

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