web5_rust::dwn::traits

Trait Client

source
pub trait Client:
    DynClone
    + Debug
    + Sync
    + Send {
    // Required methods
    fn create<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 mut self,
        perms: &'life1 Permission,
        record: Record,
        dids: &'life2 [&'life3 Did],
    ) -> Pin<Box<dyn Future<Output = Result<Permission, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn read<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 mut self,
        perms: &'life1 Permission,
        dids: &'life2 [&'life3 Did],
        follow_perm: bool,
    ) -> Pin<Box<dyn Future<Output = Result<Option<(Permission, Record)>, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn update<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 mut self,
        perms: &'life1 Permission,
        record: Record,
        dids: &'life2 [&'life3 Did],
    ) -> Pin<Box<dyn Future<Output = Result<Permission, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn delete<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 mut self,
        perms: &'life1 Permission,
        dids: &'life2 [&'life3 Did],
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn create_child<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 mut self,
        perms: &'life1 Permission,
        latest_delete: usize,
        permission: Permission,
        dids: &'life2 [&'life3 Did],
    ) -> Pin<Box<dyn Future<Output = Result<(Permission, usize), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn read_child<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 mut self,
        perms: &'life1 Permission,
        start: usize,
        end: Option<usize>,
        dids: &'life2 [&'life3 Did],
    ) -> Pin<Box<dyn Future<Output = Result<Vec<(Permission, Record)>, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn delete_child<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 mut self,
        perms: &'life1 Permission,
        index: usize,
        dids: &'life2 [&'life3 Did],
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn configure_protocol<'life0, 'async_trait>(
        &'life0 mut self,
        protocol: Protocol,
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_protocol<'life0, 'life1, 'async_trait>(
        &'life0 mut self,
        protocol: &'life1 Hash,
    ) -> Pin<Box<dyn Future<Output = Result<Protocol, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn create_did_msg<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        sender: &'life1 DidKeyPair,
        recipient: &'life2 Did,
        permission: Permission,
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn read_did_msgs<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        recipient: (&'life1 Did, &'life2 SecretKey),
        timestamp: DateTime,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<(Did, Permission)>, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
}

Required Methods§

source

fn create<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, perms: &'life1 Permission, record: Record, dids: &'life2 [&'life3 Did], ) -> Pin<Box<dyn Future<Output = Result<Permission, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

source

fn read<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, perms: &'life1 Permission, dids: &'life2 [&'life3 Did], follow_perm: bool, ) -> Pin<Box<dyn Future<Output = Result<Option<(Permission, Record)>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

source

fn update<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, perms: &'life1 Permission, record: Record, dids: &'life2 [&'life3 Did], ) -> Pin<Box<dyn Future<Output = Result<Permission, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

source

fn delete<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, perms: &'life1 Permission, dids: &'life2 [&'life3 Did], ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

source

fn create_child<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, perms: &'life1 Permission, latest_delete: usize, permission: Permission, dids: &'life2 [&'life3 Did], ) -> Pin<Box<dyn Future<Output = Result<(Permission, usize), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

source

fn read_child<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, perms: &'life1 Permission, start: usize, end: Option<usize>, dids: &'life2 [&'life3 Did], ) -> Pin<Box<dyn Future<Output = Result<Vec<(Permission, Record)>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

source

fn delete_child<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, perms: &'life1 Permission, index: usize, dids: &'life2 [&'life3 Did], ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

source

fn configure_protocol<'life0, 'async_trait>( &'life0 mut self, protocol: Protocol, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

source

fn get_protocol<'life0, 'life1, 'async_trait>( &'life0 mut self, protocol: &'life1 Hash, ) -> Pin<Box<dyn Future<Output = Result<Protocol, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn create_did_msg<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, sender: &'life1 DidKeyPair, recipient: &'life2 Did, permission: Permission, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

source

fn read_did_msgs<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, recipient: (&'life1 Did, &'life2 SecretKey), timestamp: DateTime, ) -> Pin<Box<dyn Future<Output = Result<Vec<(Did, Permission)>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Implementors§