E2ETransformationTechnologyConfig

Struct E2ETransformationTechnologyConfig 

Source
pub struct E2ETransformationTechnologyConfig {
Show 22 fields pub profile: E2EProfile, pub zero_header_length: bool, pub transform_in_place: bool, pub offset: u32, pub max_delta_counter: u32, pub max_error_state_init: u32, pub max_error_state_invalid: u32, pub max_error_state_valid: u32, pub max_no_new_or_repeated_data: u32, pub min_ok_state_init: u32, pub min_ok_state_invalid: u32, pub min_ok_state_valid: u32, pub window_size: u32, pub window_size_init: Option<u32>, pub window_size_invalid: Option<u32>, pub window_size_valid: Option<u32>, pub profile_behavior: Option<E2EProfileBehavior>, pub sync_counter_init: Option<u32>, pub data_id_mode: Option<DataIdMode>, pub data_id_nibble_offset: Option<u32>, pub crc_offset: Option<u32>, pub counter_offset: Option<u32>,
}
Expand description

Configuration for an E2E transformation

Fields§

§profile: E2EProfile

E2E profile to use

§zero_header_length: bool

When E2E is used in a transformer chain after COM, the header length must be zero. In this configuration you are expected to provide space for the E2E data inside the signal group layout, and zero_header_length should be set to true. If zero_header_length is set to false, the appropriate header length for the chosen E2E profile will be used (e.g. 24 bits for PROFILE_05)

§transform_in_place: bool

Should the E2E transformation take place in the existing buffer or in a separate buffer?

§offset: u32

The offset in bits from the start of the buffer where the E2E data should be placed If E2E is used after COM, the offset should be 0; if E2E is used after SOMEIP, the offset should be 64

§max_delta_counter: u32

Maximum jump in the counter value between two consecutive messages

§max_error_state_init: u32

The maximum allowed number of consecutive failed counter checks in the init state

§max_error_state_invalid: u32

The maximum allowed number of consecutive failed counter checks in the invalid state

§max_error_state_valid: u32

The maximum allowed number of consecutive failed counter checks in the valid state

§max_no_new_or_repeated_data: u32

The maximum allowed number of consecutive failed counter checks

§min_ok_state_init: u32

The minimum allowed number of consecutive successful counter checks in the init state

§min_ok_state_invalid: u32

The minimum allowed number of consecutive successful counter checks in the invalid state

§min_ok_state_valid: u32

The minimum allowed number of consecutive successful counter checks in the valid state

§window_size: u32

window size: Size of the monitoring window for the E2E state machine. This can be directly set up to AUTOSAR 4.4.0 (AUTOSAR_00047). For newer files this only provides the default if window_size_init, window_size_invalid and window_size_valid are not set

§window_size_init: Option<u32>

window size in the init state - only valid in AUTOSAR 4.5.0 (AUTOSAR_00048) and newer. if it is not set, this will default to window_size

§window_size_invalid: Option<u32>

window size in the invalid state - only valid in AUTOSAR 4.5.0 (AUTOSAR_00048) and newer. if it is not set, this will default to window_size

§window_size_valid: Option<u32>

window size in the valid state - only valid in AUTOSAR 4.5.0 (AUTOSAR_00048) and newer. if it is not set, this will default to window_size

§profile_behavior: Option<E2EProfileBehavior>

Behavior of the check functionality

§sync_counter_init: Option<u32>

Number of successful checks required for validating the consistency of the counter

§data_id_mode: Option<DataIdMode>

The data ID mode to use; required for E2E profiles 01 and 11, unused otherwise

§data_id_nibble_offset: Option<u32>

Offset of the data ID in the Data[] array in bits. Required for E2E profiles 01 and 11 when data_id_mode is Lower12Bit, unused otherwise

§crc_offset: Option<u32>

Offset of the crc in the Data[] array in bits. Required for E2E profiles 01 and 11, unused otherwise

§counter_offset: Option<u32>

Offset of the counter in the Data[] array in bits. Required for E2E profiles 01 and 11, unused otherwise

Trait Implementations§

Source§

impl Clone for E2ETransformationTechnologyConfig

Source§

fn clone(&self) -> E2ETransformationTechnologyConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for E2ETransformationTechnologyConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for E2ETransformationTechnologyConfig

Source§

fn eq(&self, other: &E2ETransformationTechnologyConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for E2ETransformationTechnologyConfig

Source§

impl StructuralPartialEq for E2ETransformationTechnologyConfig

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.