Skip to main content

simple_someip/
lib.rs

1//! # Simple SOME/IP (Scalable service-Oriented Middleware over IP)
2//!
3//! SOME/IP is an automotive/embedded communication protocol which supports remote procedure calls,
4//! event notifications and the underlying serialization/wire format.
5//!
6//! This library attempts to expose an ergonomic API for communicating over SOME/IP.
7//! This includes encoding/decoding messages, handling the underlying transport,
8//! and providing traits to kickstart the development of client/server applications.
9//!
10//! This library is based on the [Open SOME/IP Specification](https://github.com/some-ip-com/open-someip-spec).
11//!
12//! ## Design
13//!
14//! ## References
15//!
16//! - [Open SOME/IP Specification](https://github.com/some-ip-com/open-someip-spec)
17
18#![warn(clippy::pedantic)]
19// TODO: Add `# Errors` and `# Panics` doc sections in a follow-up PR.
20#![allow(clippy::missing_errors_doc)]
21#![allow(clippy::missing_panics_doc)]
22
23#[cfg(feature = "client")]
24mod client;
25pub mod e2e;
26mod error;
27pub mod protocol;
28#[cfg(feature = "server")]
29pub mod server;
30pub mod traits;
31
32#[cfg(feature = "client")]
33pub use client::*;
34pub use error::Error;
35#[cfg(feature = "server")]
36pub use server::Server;
37
38use std::net::Ipv4Addr;
39
40pub const SD_MULTICAST_IP: Ipv4Addr = Ipv4Addr::new(239, 255, 0, 255);
41pub const SD_MULTICAST_PORT: u16 = 30490;
42///Message id for SOME/IP service discovery messages
43pub const SD_MESSAGE_ID_VALUE: u32 = 0xffff_8100;