9 releases (5 breaking)
0.6.2 | Sep 23, 2024 |
---|---|
0.6.1 | Nov 13, 2023 |
0.5.0 | Nov 5, 2023 |
0.4.0 | Oct 12, 2021 |
0.1.0 | Sep 9, 2018 |
#483 in Network programming
1,426 downloads per month
Used in 2 crates
(via someip)
220KB
4.5K
SLoC
someip_parse
A Rust library for parsing the SOME/IP network protocol (without payload interpretation).
Usage
Add the following to your Cargo.toml
:
[dependencies]
someip_parse = "0.6.1"
Example
use someip_parse::SomeipMsgsIterator;
//trying parsing some ip messages located in a udp payload
for someip_message in SomeipMsgsIterator::new(&udp_payload) {
match someip_message {
Ok(value) => {
if value.is_someip_sd() {
println!("someip service discovery packet");
} else {
println!("0x{:x} (service id: 0x{:x}, method/event id: 0x{:x})",
value.message_id(),
value.service_id(),
value.event_or_method_id());
}
println!(" with payload {:?}", value.payload())
},
Err(_) => {} //error reading a someip packet (based on size, protocol version value or message type value)
}
}
References
- AUTOSAR Foundation (contains SOMEIP Protocol Specification & SOME/IP Service Discovery Protocol Specification)
- SOME/IP Protocol Specification R22-11
- SOME/IP Service Discovery Protocol Specification R22-11
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option. The corresponding license texts can be found in the LICENSE-APACHE file and the LICENSE-MIT file.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be licensed as above, without any additional terms or conditions.