pub struct ServerConfig {
pub physical_address: u16,
pub functional_address: u16,
pub sessions: Vec<SessionConfig, 8>,
pub services: Vec<ServiceConfig, 32>,
pub data_identifiers: Vec<DidConfig, 64>,
pub security_levels: Vec<SecurityLevelConfig, 8>,
}Expand description
Complete server configuration - mirrors what an ODX ECU description provides.
Constructed once (typically as a static or const) and referenced by the server state machine.
All lookups are O(n) over the small, fixed-size heapless::Vec collections - appropriate for
the sizes involved.
Fields§
§physical_address: u16Physical address this server responds to.
functional_address: u16Functional (broadcast) address this server listens on.
sessions: Vec<SessionConfig, 8>§services: Vec<ServiceConfig, 32>§data_identifiers: Vec<DidConfig, 64>§security_levels: Vec<SecurityLevelConfig, 8>Implementations§
Source§impl ServerConfig
impl ServerConfig
pub fn new(physical_address: u16, functional_address: u16) -> Self
pub fn with_session(self, s: SessionConfig) -> Self
pub fn with_service(self, s: ServiceConfig) -> Self
pub fn with_did(self, d: DidConfig) -> Self
pub fn with_security_level(self, l: SecurityLevelConfig) -> Self
pub fn find_session(&self, session_type: u8) -> Option<&SessionConfig>
pub fn find_service(&self, service_id: u8) -> Option<&ServiceConfig>
pub fn find_did(&self, identifier: u16) -> Option<&DidConfig>
pub fn find_security_level(&self, level: u8) -> Option<&SecurityLevelConfig>
pub fn service_allowed(&self, service_id: u8, session_type: u8) -> bool
pub fn did_readable(&self, identifier: u16, session_type: u8) -> bool
pub fn did_writable(&self, identifier: u16, session_type: u8) -> bool
Trait Implementations§
Source§impl Clone for ServerConfig
impl Clone for ServerConfig
Source§fn clone(&self) -> ServerConfig
fn clone(&self) -> ServerConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ServerConfig
impl RefUnwindSafe for ServerConfig
impl Send for ServerConfig
impl Sync for ServerConfig
impl Unpin for ServerConfig
impl UnsafeUnpin for ServerConfig
impl UnwindSafe for ServerConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more