Struct sequoia_openpgp::types::Duration
source · pub struct Duration(/* private fields */);
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§
source§impl 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>
pub fn round_up<P, C>(&self, precision: P, ceil: C) -> Result<Duration>
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§
source§impl Ord for Duration
impl Ord for Duration
source§impl PartialEq for Duration
impl PartialEq for Duration
source§impl PartialOrd for Duration
impl PartialOrd for Duration
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moreimpl Copy for Duration
impl Eq for Duration
impl StructuralPartialEq for Duration
Auto Trait Implementations§
impl Freeze for Duration
impl RefUnwindSafe for Duration
impl Send for Duration
impl Sync for Duration
impl Unpin for Duration
impl UnwindSafe for Duration
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)