Struct sequoia_openpgp::types::Duration
source · [−]pub struct Duration(_);
Expand description
A duration representable by OpenPGP.
Examples
use sequoia_openpgp as openpgp;
use openpgp::cert::prelude::*;
use openpgp::policy::StandardPolicy;
use openpgp::packet::signature::subpacket::{SubpacketTag, SubpacketValue};
use openpgp::types::{Timestamp, Duration};
let p = &StandardPolicy::new();
let now = Timestamp::now();
let validity_period = Duration::days(365)?;
let (cert,_) = CertBuilder::new()
.set_creation_time(now)
.set_validity_period(validity_period)
.generate()?;
let vc = cert.with_policy(p, now)?;
assert!(vc.alive().is_ok());
Implementations
sourceimpl Duration
impl Duration
sourcepub fn minutes(n: u32) -> Result<Duration>
pub fn minutes(n: u32) -> Result<Duration>
Returns a Duration
with the given number of minutes, if
representable.
sourcepub fn hours(n: u32) -> Result<Duration>
pub fn hours(n: u32) -> Result<Duration>
Returns a Duration
with the given number of hours, if
representable.
sourcepub fn days(n: u32) -> Result<Duration>
pub fn days(n: u32) -> Result<Duration>
Returns a Duration
with the given number of days, if
representable.
sourcepub fn weeks(n: u32) -> Result<Duration>
pub fn weeks(n: u32) -> Result<Duration>
Returns a Duration
with the given number of weeks, if
representable.
sourcepub fn years(n: u32) -> Result<Duration>
pub fn years(n: u32) -> Result<Duration>
Returns a Duration
with the given number of years, if
representable.
This function assumes that there are 365.2425 days in a year, the average number of days in a year in the Gregorian calendar.
sourcepub fn round_up<P, C>(&self, precision: P, ceil: C) -> Result<Duration> where
P: Into<Option<u8>>,
C: Into<Option<SystemDuration>>,
pub fn round_up<P, C>(&self, precision: P, ceil: C) -> Result<Duration> where
P: Into<Option<u8>>,
C: Into<Option<SystemDuration>>,
Rounds up to the given level of precision.
If Timestamp::round_down
is used to round the creation
timestamp of a key or signature down, then this function may
be used to round the corresponding expiration time up. This
ensures validity during the originally intended lifetime,
while avoiding the metadata leak associated with preserving
the originally intended expiration time.
The given level p
determines the resulting resolution of
2^p
seconds. The default is 21
, which results in a
resolution of 24 days, or roughly a month. p
must be lower
than 32.
The upper limit ceil
represents the maximum time to round up to.
Trait Implementations
sourceimpl From<Duration> for SystemDuration
impl From<Duration> for SystemDuration
sourceimpl From<Duration> for Option<SystemDuration>
impl From<Duration> for Option<SystemDuration>
sourceimpl Ord for Duration
impl Ord for Duration
sourceimpl PartialOrd<Duration> for Duration
impl PartialOrd<Duration> for Duration
sourcefn partial_cmp(&self, other: &Duration) -> Option<Ordering>
fn partial_cmp(&self, other: &Duration) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for Duration
impl Eq for Duration
impl StructuralEq for Duration
impl StructuralPartialEq for Duration
Auto Trait Implementations
impl RefUnwindSafe for Duration
impl Send for Duration
impl Sync for Duration
impl Unpin for Duration
impl UnwindSafe for Duration
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more