#udp-socket #sockets #diagnostics #tcp-udp #vehicle #doip

doip-sockets

A Diagnostics over Internet Protocol (DoIP) implementation for TCP & UDP Sockets with helper functions

6 releases

new 0.2.4 Jan 14, 2025
0.2.3 Jan 14, 2025
0.1.0 Jan 6, 2025

#1511 in Network programming

Download history 121/week @ 2025-01-02 247/week @ 2025-01-09

368 downloads per month

MIT license

24KB
404 lines

Diagnostics over Internet Protocol (DoIP) Sockets

A Diagnostics over Internet Protocol (DoIP) implementation for TCP & UDP Sockets with helper functions.

Features

  • DoIP Message Framing: Implements framing mechanisms for reliable transmission and reception of DoIP messages.
  • TCP and UDP Support: Provides seamless support for both transport protocols.
  • Asynchronous Design: Built on Tokio for high-performance and non-blocking communication.
  • Error Handling: Robust error handling for socket operations and DoIP message processing.
  • Extensible and Modular: Designed to integrate with higher-level diagnostic tools or frameworks.

Getting Started

Prerequisites

  • Rust programming language (latest stable version). Install Rust from rust-lang.org.
  • Windows 10 or other compatible operating systems.

Installation

Add the library as a dependency in your Cargo.toml file:

[dependencies]
doip-sockets = "0.2.0"

Documentation

Comprehensive documentation is available here (link to hosted docs).

Development

Building the Project

Clone the repository and build the project using Cargo:

git clone https://github.com/samp-reston/doip-sockets.git
cd doip-sockets
cargo build

Running Tests

Run unit tests to ensure functionality:

cargo test

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

  • Based on the ISO 13400 DoIP specification.
  • Built with the Rust programming language.
  • Thanks to the Tokio project for enabling high-performance asynchronous networking.

Contact

For support, questions, or feature requests, please open an issue on the GitHub repository.

Dependencies

~4–12MB
~135K SLoC