#message-parser #some-ip #autosar

someip_parse

解析 SOME/IP 网络协议的库(不进行负载解释)

8 个版本 (5 个重大变更)

0.6.1 2023年11月13日
0.6.0 2023年11月13日
0.5.0 2023年11月5日
0.4.0 2021年10月12日
0.1.0 2018年9月9日

#2 in #autosar

Download history 240/week @ 2024-04-22 233/week @ 2024-04-29 200/week @ 2024-05-06 390/week @ 2024-05-13 333/week @ 2024-05-20 158/week @ 2024-05-27 277/week @ 2024-06-03 218/week @ 2024-06-10 222/week @ 2024-06-17 252/week @ 2024-06-24 250/week @ 2024-07-01 228/week @ 2024-07-08 281/week @ 2024-07-15 393/week @ 2024-07-22 552/week @ 2024-07-29 431/week @ 2024-08-05

1,668 每月下载量
2 个 crate 中使用(通过 someip

MIT/Apache

215KB
4.5K SLoC

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

someip_parse

一个用于解析 SOME/IP 网络协议的 Rust 库(不进行负载解释)。

使用方法

将以下内容添加到您的 Cargo.toml

[dependencies]
someip_parse = "0.6.1"

示例

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)
    }
}

参考

许可证

根据您的选择,许可为 Apache 许可证版本 2.0 或 MIT 许可证。相应的许可证文本可以在 LICENSE-APACHE 文件和 LICENSE-MIT 文件中找到。

贡献

除非您明确表示,否则您有意提交以包含在本作品中的任何贡献均应按上述方式许可,而不附加任何额外条款或条件。

无运行时依赖项