aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-time/src/instant.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/embassy-time/src/instant.rs b/embassy-time/src/instant.rs
index cae80e51f..7fc93c2ec 100644
--- a/embassy-time/src/instant.rs
+++ b/embassy-time/src/instant.rs
@@ -115,6 +115,18 @@ impl Instant {
115 pub fn checked_sub(&self, duration: Duration) -> Option<Instant> { 115 pub fn checked_sub(&self, duration: Duration) -> Option<Instant> {
116 self.ticks.checked_sub(duration.ticks).map(|ticks| Instant { ticks }) 116 self.ticks.checked_sub(duration.ticks).map(|ticks| Instant { ticks })
117 } 117 }
118
119 /// Adds a Duration to self. In case of overflow, the maximum value is returned.
120 pub fn saturating_add(mut self, duration: Duration) -> Self {
121 self.ticks = self.ticks.saturating_add(duration.ticks);
122 self
123 }
124
125 /// Subtracts a Duration from self. In case of overflow, the minimum value is returned.
126 pub fn saturating_sub(mut self, duration: Duration) -> Self {
127 self.ticks = self.ticks.saturating_sub(duration.ticks);
128 self
129 }
118} 130}
119 131
120impl Add<Duration> for Instant { 132impl Add<Duration> for Instant {