pub trait IsoTpFrame: Send {
// Required methods
fn decode<T: AsRef<[u8]>>(data: T) -> Result<Self, Error>
where Self: Sized;
fn encode(self, padding: Option<u8>) -> Vec<u8> ⓘ;
fn from_data<T: AsRef<[u8]>>(data: T) -> Result<Vec<Self>, Error>
where Self: Sized;
fn single_frame<T: AsRef<[u8]>>(data: T) -> Result<Self, Error>
where Self: Sized;
fn flow_ctrl_frame(
state: FlowControlState,
block_size: u8,
st_min: u8,
) -> Result<Self, Error>
where Self: Sized;
// Provided method
fn default_flow_ctrl_frame() -> Self
where Self: Sized { ... }
}Expand description
ISO-TP frame trait define.
Required Methods§
Sourcefn decode<T: AsRef<[u8]>>(data: T) -> Result<Self, Error>where
Self: Sized,
fn decode<T: AsRef<[u8]>>(data: T) -> Result<Self, Error>where
Self: Sized,
Decode frame from origin data like 02 10 01.
§Parameters
data- the source data.
§Return
A struct that implements IsoTpFrame if parameters are valid.
Sourcefn single_frame<T: AsRef<[u8]>>(data: T) -> Result<Self, Error>where
Self: Sized,
fn single_frame<T: AsRef<[u8]>>(data: T) -> Result<Self, Error>where
Self: Sized,
New single frame from data.
data- the single frame data
§Returns
A new SingleFrame if parameters are valid.
Sourcefn flow_ctrl_frame(
state: FlowControlState,
block_size: u8,
st_min: u8,
) -> Result<Self, Error>where
Self: Sized,
fn flow_ctrl_frame(
state: FlowControlState,
block_size: u8,
st_min: u8,
) -> Result<Self, Error>where
Self: Sized,
New flow control frame from data.
§Parameters
state-FlowControlStateblock_size- the block sizest_min- separation time minimum
§Returns
A new FlowControlFrame if parameters are valid.