[][src]Struct sequoia_openpgp::types::Duration

pub struct Duration(_);

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

impl Duration[src]

pub const fn seconds(n: u32) -> Duration[src]

Returns a Duration with the given number of seconds.

pub fn minutes(n: u32) -> Result<Duration>[src]

Returns a Duration with the given number of minutes, if representable.

pub fn hours(n: u32) -> Result<Duration>[src]

Returns a Duration with the given number of hours, if representable.

pub fn days(n: u32) -> Result<Duration>[src]

Returns a Duration with the given number of days, if representable.

pub fn weeks(n: u32) -> Result<Duration>[src]

Returns a Duration with the given number of weeks, if representable.

pub fn years(n: u32) -> Result<Duration>[src]

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.

pub fn as_secs(self) -> u64[src]

Returns the duration as seconds.

pub fn round_up<P, C>(&self, precision: P, ceil: C) -> Result<Duration> where
    P: Into<Option<u8>>,
    C: Into<Option<SystemDuration>>, 
[src]

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

impl Clone for Duration[src]

impl Copy for Duration[src]

impl Debug for Duration[src]

impl Eq for Duration[src]

impl From<Duration> for u32[src]

impl From<Duration> for SystemDuration[src]

impl From<Duration> for Option<SystemDuration>[src]

impl From<u32> for Duration[src]

impl Hash for Duration[src]

impl Ord for Duration[src]

impl PartialEq<Duration> for Duration[src]

impl PartialOrd<Duration> for Duration[src]

impl StructuralEq for Duration[src]

impl StructuralPartialEq for Duration[src]

impl TryFrom<Duration> for Duration[src]

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DynClone for T where
    T: Clone
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.