rsomeip-proto
Sans-IO implementation of the SOME/IP protocol.
Overview
This crate provides an implementation of the core SOME/IP protocol, mainly focused on message processing.
It provides the basic primitives used by the protocol as well as endpoint and interface abstractions to check messages for correctness.
Features
- tp: Implementation of the SOME/IP Transport Protocol for segmenting large messages.
Getting Started
-
Add
rsomeip-protoas a dependency to your project.# Cargo.toml [] = "0.1.0" -
Create an [
Endpoint] and serve an [Interface]. Use the [Endpoint::process] and [Endpoint::poll] methods to serialize and deserialize messages.use ; use ; type Message = Message; // Create an endpoint with a stub and a proxy. let endpoint = new .with_interface .with_interface; // Poll for incoming messages. let mut buffer = default .with_service .to_bytes .expect; assert_eq!; // Process outgoing messages. let mut buffer = with_capacity; assert_eq!; assert_eq!;
Motivation
This crate is intended to be used as the core for developing more complex crates based on the SOME/IP protocol.
License
This project is licensed under either the Apache-2.0 License or MIT License, 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.