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#![no_std]
19#![warn(clippy::pedantic)]
20// TODO: Add `# Errors` and `# Panics` doc sections in a follow-up PR.
21#![allow(clippy::missing_errors_doc)]
22#![allow(clippy::missing_panics_doc)]
23
24#[cfg(feature = "std")]
25extern crate std;
26
27#[cfg(feature = "client")]
28mod client;
29pub mod e2e;
30mod error;
31pub mod protocol;
32#[cfg(feature = "server")]
33pub mod server;
34pub mod traits;
35
36#[cfg(feature = "client")]
37pub use client::*;
38pub use error::Error;
39#[cfg(feature = "server")]
40pub use server::Server;
41
42use core::net::Ipv4Addr;
43
44pub const SD_MULTICAST_IP: Ipv4Addr = Ipv4Addr::new(239, 255, 0, 255);
45pub const SD_MULTICAST_PORT: u16 = 30490;
46///Message id for SOME/IP service discovery messages
47pub const SD_MESSAGE_ID_VALUE: u32 = 0xffff_8100;