aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Lilleengen <[email protected]>2025-02-04 11:40:57 +0000
committerGitHub <[email protected]>2025-02-04 11:40:57 +0000
commite0eefbb81f859845e720ec84fbcd4fab1b65890e (patch)
tree42037778d1e93057d47e0a5f2933fe079838be18
parent2c8a550410653d58b103d71b7571668872dd79fa (diff)
parent865266a4ae0a1e12174fbe0de0956e0a94f32800 (diff)
Merge pull request #3846 from wackazong/patch-4
Add saturating_add and saturating_sub to Instant
-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 {