pub struct PkCommandConfig { /* private fields */ }Expand description
Configuration for the PkCommand state machine.
Use this struct to define timeout durations and packet size limits according to your transport layer’s constraints (e.g., HID, Serial, etc.).
Implementations§
Source§impl PkCommandConfig
impl PkCommandConfig
Sourcepub fn default(packet_limit: u64) -> Self
pub fn default(packet_limit: u64) -> Self
Creates a PkCommandConfig with default (as recommended in the specification file) timeout values.
§Default timeouts
- ACK timeout: 100ms
- Inter command timeout: 500ms
AWAITinterval: 300ms
§Arguments
packet_limit: The maximum packet size (MTU) of the underlying transport (e.g., 64 for HID).
§Returns
A PkCommandConfig instance with default timeouts and the specified packet limit.
§Note
This is not an implementation of Default trait because packet_limit must be specified.
Sourcepub fn new(
ack_timeout: u64,
inter_command_timeout: u64,
await_interval: u64,
packet_limit: u64,
) -> Self
pub fn new( ack_timeout: u64, inter_command_timeout: u64, await_interval: u64, packet_limit: u64, ) -> Self
Creates a new PkCommandConfig with custom timing and packet limit.
§Arguments
ack_timeout: Timeout for ACKs in milliseconds.inter_command_timeout: Timeout between commands in milliseconds.await_interval: Interval for sendingAWAITkeep-alives in milliseconds.packet_limit: Maximum length of a single packet in bytes.
§Note
To avoid undesirable behavior, you should ensure that the timeout values on both sides (Host and Device) are exactly the same.
Trait Implementations§
Source§impl Clone for PkCommandConfig
impl Clone for PkCommandConfig
Source§fn clone(&self) -> PkCommandConfig
fn clone(&self) -> PkCommandConfig
Returns a duplicate of the value. Read more
1.0.0 · 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 PkCommandConfig
impl RefUnwindSafe for PkCommandConfig
impl Send for PkCommandConfig
impl Sync for PkCommandConfig
impl Unpin for PkCommandConfig
impl UnwindSafe for PkCommandConfig
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