Skip to main content

DeviceJoinChallengePublicationJournal

Trait DeviceJoinChallengePublicationJournal 

Source
pub trait DeviceJoinChallengePublicationJournal: Send + Sync {
    // Required methods
    fn prepare<'life0, 'life1, 'async_trait>(
        &'life0 self,
        challenge: &'life1 CrossPrincipalProbeChallenge,
    ) -> Pin<Box<dyn Future<Output = Result<DeviceJoinChallengePublicationRecord, StorageError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn claim_published<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        authorization: &'life1 DeviceJoinChallengePublicationAuthorization,
        challenge: &'life2 CrossPrincipalProbeChallenge,
    ) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
}

Required Methods§

Source

fn prepare<'life0, 'life1, 'async_trait>( &'life0 self, challenge: &'life1 CrossPrincipalProbeChallenge, ) -> Pin<Box<dyn Future<Output = Result<DeviceJoinChallengePublicationRecord, StorageError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn claim_published<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, authorization: &'life1 DeviceJoinChallengePublicationAuthorization, challenge: &'life2 CrossPrincipalProbeChallenge, ) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Atomically claims publication for these exact signed facts. An exact replay of an existing Published claim succeeds; a claim naming a different authorization is rejected.

Implementors§