web5_rust::dwn::traitsTrait 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;
}