I suppose that is a good start
Some checks failed
Rust/sat-rs/pipeline/pr-main There was a failure building this commit
Some checks failed
Rust/sat-rs/pipeline/pr-main There was a failure building this commit
This commit is contained in:
parent
fc464d4078
commit
3ec6590c23
@ -37,15 +37,25 @@ pub trait CheckTimerProvider {
|
|||||||
fn has_expired(&self) -> bool;
|
fn has_expired(&self) -> bool;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// A generic trait which allows CFDP entities to create check timers which are required to
|
||||||
|
/// implement special procedures in unacknowledged transmission mode, as specified in 4.6.3.2
|
||||||
|
/// and 4.6.3.3. The [CheckTimerProvider] provides more information about the purpose of the
|
||||||
|
/// check timer.
|
||||||
|
///
|
||||||
|
/// This trait also allows the creation of different check timers depending on
|
||||||
|
/// the ID of the local entity, the ID of the remote entity for a given transaction, and the
|
||||||
|
/// type of entity.
|
||||||
#[cfg(feature = "alloc")]
|
#[cfg(feature = "alloc")]
|
||||||
pub trait CheckTimerCreator {
|
pub trait CheckTimerCreator {
|
||||||
fn get_check_limit_provider(
|
fn get_check_timer_provider(
|
||||||
local_id: &UnsignedByteField,
|
local_id: &UnsignedByteField,
|
||||||
remote_id: &UnsignedByteField,
|
remote_id: &UnsignedByteField,
|
||||||
entity_type: EntityType,
|
entity_type: EntityType,
|
||||||
) -> Box<dyn CheckTimerProvider>;
|
) -> Box<dyn CheckTimerProvider>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Simple implementation of the [CheckTimerProvider] trait assuming a standard runtime.
|
||||||
|
/// It also assumes that a second accuracy of the check timer period is sufficient.
|
||||||
#[cfg(feature = "std")]
|
#[cfg(feature = "std")]
|
||||||
pub struct StdCheckTimer {
|
pub struct StdCheckTimer {
|
||||||
expiry_time_seconds: u64,
|
expiry_time_seconds: u64,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user