someip_parse

Crates.iosomeip_parse
lib.rssomeip_parse
version0.6.2
sourcesrc
created_at2018-09-09 06:47:13.714075
updated_at2024-09-23 06:10:33.117403
descriptionA library for parsing the SOME/IP network protocol (without payload interpretation).
homepage
repositoryhttps://github.com/JulianSchmid/someip-parse-rs
max_upload_size
id83692
size248,190
Julian Schmid (JulianSchmid)

documentation

README

Crates.io docs.rs Build Status Github Build Status Gitlab codecov

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

examples/print_messages.rs:

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

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.

Commit count: 84

cargo fmt