Protector01

class mtf.network_port.e2e_protection.Protector01

E2EProtector implementation with specific configuration (Profile 01).

__init__() None
configure(counter_offset: int, crc_offset: int, data_id: int, data_length: int, data_id_nibble_offset: int = 0, data_id_mode: ~mtf.libs.mtf_pybinder.E2EDataIdMode = <E2EDataIdMode.Both: 0>, max_delta_counter_init: int = 0, max_no_new_or_repeated_data: int = 0, sync_counter_init: int = 0) bool

Configure the Protector with specific parameters (Profile 01).

Returns:

bool: True if the configuration is valid, False otherwise.

check(payload: list[int]) bool

Check the payload integrity using the configured E2EProtector.

Args:

payload (list[int]): The payload to check.

Returns:

bool: True if the payload is valid, False if not.

Raises:

NotConfiguredError: If the Protector is not configured.

get_last_check_status() str

Get the last check status from the receiver state.

Returns:

str: The last check status as a string.

increment_counter(counter: int, step: int = 1) int

Increments the given counter by the specified step using the configured E2EProtector.

Args:

counter (int): The counter value to increment. step (int): The step by which to increment the counter. If the value is

greater than or equal to 0, the counter will increase. If the value is negative, the counter will decrease. Defaults to 1.

Returns:

int: The incremented counter value.

Raises:

NotConfiguredError: If the Protector is not configured.

protect(payload: list[int]) bool

Protect the payload using the configured E2EProtector.

Args:

payload (list[int]): The payload to protect.

Returns:

bool: True if the payload is protected successfully, False if not.

Raises:

NotConfiguredError: If the Protector is not configured.

set_option(option: E2EProtectorOptions, is_set: bool = True) None

Set or unset a specific option for the configured E2EProtector.

Args:

option (E2EProtectorOptions): The option to set or unset. is_set (bool): True to set the option, False to unset.

Raises:

NotConfiguredError: If the Protector is not configured.