[][src]Trait safe_app::Client

pub trait Client: Clone + Send + Sync {
    type Context;
#[must_use]    fn full_id<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = SafeKey> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn owner_key<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = PublicKey> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn config<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Option<HashSet<SocketAddr, RandomState>>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn inner(&self) -> Arc<Mutex<Inner>>;
#[must_use] fn public_encryption_key<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = PublicKey> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn secret_encryption_key<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = SecretKey> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn secret_symmetric_key<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Key> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; #[must_use] fn public_id<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = PublicId> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn public_key<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = PublicKey> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn encryption_keypair<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = (PublicKey, SecretKey)> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn compose_message<'life0, 'async_trait>(
        &'life0 self,
        request: Request,
        sign: bool
    ) -> Pin<Box<dyn Future<Output = Message> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn set_timeout<'life0, 'async_trait>(
        &'life0 self,
        duration: Duration
    ) -> Pin<Box<dyn Future<Output = ()> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn restart_network<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn put_unseq_mutable_data<'life0, 'async_trait>(
        &'life0 self,
        data: UnseqData
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn transfer_coins<'life0, 'life1, 'async_trait>(
        &'life0 self,
        client_id: Option<&'life1 FullId>,
        destination: XorName,
        amount: Coins,
        transaction_id: Option<u64>
    ) -> Pin<Box<dyn Future<Output = Result<Transaction, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn create_balance<'life0, 'life1, 'async_trait>(
        &'life0 self,
        client_id: Option<&'life1 FullId>,
        new_balance_owner: PublicKey,
        amount: Coins,
        transaction_id: Option<u64>
    ) -> Pin<Box<dyn Future<Output = Result<Transaction, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn insert_login_packet_for<'life0, 'life1, 'async_trait>(
        &'life0 self,
        client_id: Option<&'life1 FullId>,
        new_owner: PublicKey,
        amount: Coins,
        transaction_id: Option<u64>,
        new_login_packet: LoginPacket
    ) -> Pin<Box<dyn Future<Output = Result<Transaction, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_balance<'life0, 'life1, 'async_trait>(
        &'life0 self,
        client_id: Option<&'life1 FullId>
    ) -> Pin<Box<dyn Future<Output = Result<Coins, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn put_idata<'life0, 'async_trait, D>(
        &'life0 self,
        data: D
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        D: Into<Data> + Send + 'async_trait,
        Self: Send + 'async_trait
, { ... }
#[must_use] fn get_idata<'life0, 'async_trait>(
        &'life0 self,
        address: Address
    ) -> Pin<Box<dyn Future<Output = Result<Data, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn del_unpub_idata<'life0, 'async_trait>(
        &'life0 self,
        name: XorName
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn put_seq_mutable_data<'life0, 'async_trait>(
        &'life0 self,
        data: SeqData
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_unseq_mdata<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<UnseqData, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_seq_mdata_value<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64,
        key: Vec<u8>
    ) -> Pin<Box<dyn Future<Output = Result<SeqValue, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_unseq_mdata_value<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64,
        key: Vec<u8>
    ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_seq_mdata<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<SeqData, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn mutate_seq_mdata_entries<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64,
        actions: SeqEntryActions
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn mutate_unseq_mdata_entries<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64,
        actions: UnseqEntryActions
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_seq_mdata_shell<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<SeqData, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_unseq_mdata_shell<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<UnseqData, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_mdata_version<'life0, 'async_trait>(
        &'life0 self,
        address: Address
    ) -> Pin<Box<dyn Future<Output = Result<u64, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn list_unseq_mdata_entries<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<BTreeMap<Vec<u8>, Vec<u8>>, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn list_seq_mdata_entries<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<BTreeMap<Vec<u8>, SeqValue>, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn list_mdata_keys<'life0, 'async_trait>(
        &'life0 self,
        address: Address
    ) -> Pin<Box<dyn Future<Output = Result<BTreeSet<Vec<u8>>, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn list_seq_mdata_values<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<Vec<SeqValue>, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn list_mdata_user_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
        user: PublicKey
    ) -> Pin<Box<dyn Future<Output = Result<PermissionSet, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn list_unseq_mdata_values<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<u8>>, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn put_adata<'life0, 'async_trait>(
        &'life0 self,
        data: Data
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_adata<'life0, 'async_trait>(
        &'life0 self,
        address: Address
    ) -> Pin<Box<dyn Future<Output = Result<Data, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_adata_shell<'life0, 'async_trait>(
        &'life0 self,
        data_index: Index,
        address: Address
    ) -> Pin<Box<dyn Future<Output = Result<Data, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_adata_value<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
        key: Vec<u8>
    ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_adata_range<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
        range: (Index, Index)
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Entry>, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_adata_indices<'life0, 'async_trait>(
        &'life0 self,
        address: Address
    ) -> Pin<Box<dyn Future<Output = Result<Indices, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_adata_last_entry<'life0, 'async_trait>(
        &'life0 self,
        address: Address
    ) -> Pin<Box<dyn Future<Output = Result<Entry, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_unpub_adata_permissions_at_index<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
        permissions_index: Index
    ) -> Pin<Box<dyn Future<Output = Result<UnpubPermissions, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_pub_adata_permissions_at_index<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
        permissions_index: Index
    ) -> Pin<Box<dyn Future<Output = Result<PubPermissions, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_pub_adata_user_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
        permissions_index: Index,
        user: User
    ) -> Pin<Box<dyn Future<Output = Result<PubPermissionSet, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_unpub_adata_user_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
        permissions_index: Index,
        public_key: PublicKey
    ) -> Pin<Box<dyn Future<Output = Result<UnpubPermissionSet, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn add_unpub_adata_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
        permissions: UnpubPermissions,
        permissions_index: u64
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn add_pub_adata_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
        permissions: PubPermissions,
        permissions_index: u64
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn set_adata_owners<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
        owner: Owner,
        owners_index: u64
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_adata_owners<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
        owners_index: Index
    ) -> Pin<Box<dyn Future<Output = Result<Owner, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn append_seq_adata<'life0, 'async_trait>(
        &'life0 self,
        append: AppendOperation,
        index: u64
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn append_unseq_adata<'life0, 'async_trait>(
        &'life0 self,
        append: AppendOperation
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn list_mdata_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: Address
    ) -> Pin<Box<dyn Future<Output = Result<BTreeMap<PublicKey, PermissionSet>, CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn set_mdata_user_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
        user: PublicKey,
        permissions: PermissionSet,
        version: u64
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn del_mdata_user_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
        user: PublicKey,
        version: u64
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
fn change_mdata_owner(
        &self,
        name: XorName,
        tag: u64,
        new_owner: PublicKey,
        version: u64
    ) -> Result<(), CoreError> { ... }
#[must_use] fn test_set_balance<'life0, 'life1, 'async_trait>(
        &'life0 self,
        client_id: Option<&'life1 FullId>,
        amount: Coins
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
, { ... } }

Trait providing an interface for self-authentication client implementations, so they can interface all requests from high-level APIs to the actual routing layer and manage all interactions with it. Clients are non-blocking, with an asynchronous API using the futures abstraction from the futures-rs crate.

Associated Types

type Context

Associated message type.

Loading content...

Required methods

#[must_use]fn full_id<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = SafeKey> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return the client's ID.

#[must_use]fn owner_key<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = PublicKey> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Returns the client's owner key.

#[must_use]fn config<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = Option<HashSet<SocketAddr, RandomState>>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return a crust::Config if the Client was initialized with one.

fn inner(&self) -> Arc<Mutex<Inner>>

Return an associated ClientInner type which is expected to contain fields associated with the implementing type.

#[must_use]fn public_encryption_key<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = PublicKey> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return the public encryption key.

#[must_use]fn secret_encryption_key<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = SecretKey> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return the secret encryption key.

#[must_use]fn secret_symmetric_key<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = Key> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return the symmetric encryption key.

Loading content...

Provided methods

#[must_use]fn public_id<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = PublicId> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return the client's public ID.

#[must_use]fn public_key<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = PublicKey> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Returns the client's public key.

#[must_use]fn encryption_keypair<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = (PublicKey, SecretKey)> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return the public and secret encryption keys.

#[must_use]fn compose_message<'life0, 'async_trait>(
    &'life0 self,
    request: Request,
    sign: bool
) -> Pin<Box<dyn Future<Output = Message> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Create a Message from the given request. This function adds the requester signature and message ID.

#[must_use]fn set_timeout<'life0, 'async_trait>(
    &'life0 self,
    duration: Duration
) -> Pin<Box<dyn Future<Output = ()> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Set request timeout.

#[must_use]fn restart_network<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Restart the client and reconnect to the network.

#[must_use]fn put_unseq_mutable_data<'life0, 'async_trait>(
    &'life0 self,
    data: UnseqData
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Put unsequenced mutable data to the network

#[must_use]fn transfer_coins<'life0, 'life1, 'async_trait>(
    &'life0 self,
    client_id: Option<&'life1 FullId>,
    destination: XorName,
    amount: Coins,
    transaction_id: Option<u64>
) -> Pin<Box<dyn Future<Output = Result<Transaction, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

Transfer coin balance

#[must_use]fn create_balance<'life0, 'life1, 'async_trait>(
    &'life0 self,
    client_id: Option<&'life1 FullId>,
    new_balance_owner: PublicKey,
    amount: Coins,
    transaction_id: Option<u64>
) -> Pin<Box<dyn Future<Output = Result<Transaction, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

Creates a new balance on the network.

#[must_use]fn insert_login_packet_for<'life0, 'life1, 'async_trait>(
    &'life0 self,
    client_id: Option<&'life1 FullId>,
    new_owner: PublicKey,
    amount: Coins,
    transaction_id: Option<u64>,
    new_login_packet: LoginPacket
) -> Pin<Box<dyn Future<Output = Result<Transaction, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

Insert a given login packet at the specified destination

#[must_use]fn get_balance<'life0, 'life1, 'async_trait>(
    &'life0 self,
    client_id: Option<&'life1 FullId>
) -> Pin<Box<dyn Future<Output = Result<Coins, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

Get the current coin balance.

#[must_use]fn put_idata<'life0, 'async_trait, D>(
    &'life0 self,
    data: D
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    D: Into<Data> + Send + 'async_trait,
    Self: Send + 'async_trait, 

Put immutable data to the network.

#[must_use]fn get_idata<'life0, 'async_trait>(
    &'life0 self,
    address: Address
) -> Pin<Box<dyn Future<Output = Result<Data, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Get immutable data from the network. If the data exists locally in the cache then it will be immediately returned without making an actual network request.

#[must_use]fn del_unpub_idata<'life0, 'async_trait>(
    &'life0 self,
    name: XorName
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Delete unpublished immutable data from the network.

#[must_use]fn put_seq_mutable_data<'life0, 'async_trait>(
    &'life0 self,
    data: SeqData
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Put sequenced mutable data to the network

#[must_use]fn get_unseq_mdata<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<UnseqData, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Fetch unpublished mutable data from the network

#[must_use]fn get_seq_mdata_value<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64,
    key: Vec<u8>
) -> Pin<Box<dyn Future<Output = Result<SeqValue, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Fetch the value for a given key in a sequenced mutable data

#[must_use]fn get_unseq_mdata_value<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64,
    key: Vec<u8>
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Fetch the value for a given key in a sequenced mutable data

#[must_use]fn get_seq_mdata<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<SeqData, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Fetch sequenced mutable data from the network

#[must_use]fn mutate_seq_mdata_entries<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64,
    actions: SeqEntryActions
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Mutates sequenced MutableData entries in bulk

#[must_use]fn mutate_unseq_mdata_entries<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64,
    actions: UnseqEntryActions
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Mutates unsequenced MutableData entries in bulk

#[must_use]fn get_seq_mdata_shell<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<SeqData, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Get a shell (bare bones) version of MutableData from the network.

#[must_use]fn get_unseq_mdata_shell<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<UnseqData, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Get a shell (bare bones) version of MutableData from the network.

#[must_use]fn get_mdata_version<'life0, 'async_trait>(
    &'life0 self,
    address: Address
) -> Pin<Box<dyn Future<Output = Result<u64, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Get a current version of MutableData from the network.

#[must_use]fn list_unseq_mdata_entries<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<Vec<u8>, Vec<u8>>, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return a complete list of entries in MutableData.

#[must_use]fn list_seq_mdata_entries<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<Vec<u8>, SeqValue>, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return a complete list of entries in MutableData.

#[must_use]fn list_mdata_keys<'life0, 'async_trait>(
    &'life0 self,
    address: Address
) -> Pin<Box<dyn Future<Output = Result<BTreeSet<Vec<u8>>, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return a list of keys in MutableData stored on the network.

#[must_use]fn list_seq_mdata_values<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<Vec<SeqValue>, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return a list of values in a Sequenced Mutable Data

#[must_use]fn list_mdata_user_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: Address,
    user: PublicKey
) -> Pin<Box<dyn Future<Output = Result<PermissionSet, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return the permissions set for a particular user

#[must_use]fn list_unseq_mdata_values<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<u8>>, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Returns a list of values in an Unsequenced Mutable Data

#[must_use]fn put_adata<'life0, 'async_trait>(
    &'life0 self,
    data: Data
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Put AppendOnly Data into the Network

#[must_use]fn get_adata<'life0, 'async_trait>(
    &'life0 self,
    address: Address
) -> Pin<Box<dyn Future<Output = Result<Data, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Get AppendOnly Data from the Network

#[must_use]fn get_adata_shell<'life0, 'async_trait>(
    &'life0 self,
    data_index: Index,
    address: Address
) -> Pin<Box<dyn Future<Output = Result<Data, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Get AppendOnly Data Shell from the Network

#[must_use]fn get_adata_value<'life0, 'async_trait>(
    &'life0 self,
    address: Address,
    key: Vec<u8>
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Fetch Value for the provided key from AppendOnly Data at {:?}

#[must_use]fn get_adata_range<'life0, 'async_trait>(
    &'life0 self,
    address: Address,
    range: (Index, Index)
) -> Pin<Box<dyn Future<Output = Result<Vec<Entry>, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Get a Set of Entries for the requested range from an AData.

#[must_use]fn get_adata_indices<'life0, 'async_trait>(
    &'life0 self,
    address: Address
) -> Pin<Box<dyn Future<Output = Result<Indices, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Get latest indices from an AppendOnly Data.

#[must_use]fn get_adata_last_entry<'life0, 'async_trait>(
    &'life0 self,
    address: Address
) -> Pin<Box<dyn Future<Output = Result<Entry, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Get the last data entry from an AppendOnly Data.

#[must_use]fn get_unpub_adata_permissions_at_index<'life0, 'async_trait>(
    &'life0 self,
    address: Address,
    permissions_index: Index
) -> Pin<Box<dyn Future<Output = Result<UnpubPermissions, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Get permissions at the provided index.

#[must_use]fn get_pub_adata_permissions_at_index<'life0, 'async_trait>(
    &'life0 self,
    address: Address,
    permissions_index: Index
) -> Pin<Box<dyn Future<Output = Result<PubPermissions, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Get permissions at the provided index.

#[must_use]fn get_pub_adata_user_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: Address,
    permissions_index: Index,
    user: User
) -> Pin<Box<dyn Future<Output = Result<PubPermissionSet, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Get permissions for a specified user(s).

#[must_use]fn get_unpub_adata_user_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: Address,
    permissions_index: Index,
    public_key: PublicKey
) -> Pin<Box<dyn Future<Output = Result<UnpubPermissionSet, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Get permissions for a specified user(s).

#[must_use]fn add_unpub_adata_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: Address,
    permissions: UnpubPermissions,
    permissions_index: u64
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Add AData Permissions

#[must_use]fn add_pub_adata_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: Address,
    permissions: PubPermissions,
    permissions_index: u64
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Add Pub AData Permissions

#[must_use]fn set_adata_owners<'life0, 'async_trait>(
    &'life0 self,
    address: Address,
    owner: Owner,
    owners_index: u64
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Set new Owners to AData

#[must_use]fn get_adata_owners<'life0, 'async_trait>(
    &'life0 self,
    address: Address,
    owners_index: Index
) -> Pin<Box<dyn Future<Output = Result<Owner, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Set new Owners to AData

#[must_use]fn append_seq_adata<'life0, 'async_trait>(
    &'life0 self,
    append: AppendOperation,
    index: u64
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Append to Published Seq AppendOnly Data

#[must_use]fn append_unseq_adata<'life0, 'async_trait>(
    &'life0 self,
    append: AppendOperation
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Append to Unpublished Unseq AppendOnly Data

#[must_use]fn list_mdata_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: Address
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<PublicKey, PermissionSet>, CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return a list of permissions in MutableData stored on the network.

#[must_use]fn set_mdata_user_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: Address,
    user: PublicKey,
    permissions: PermissionSet,
    version: u64
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Updates or inserts a permissions set for a user

#[must_use]fn del_mdata_user_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: Address,
    user: PublicKey,
    version: u64
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Updates or inserts a permissions set for a user

fn change_mdata_owner(
    &self,
    name: XorName,
    tag: u64,
    new_owner: PublicKey,
    version: u64
) -> Result<(), CoreError>

Sends an ownership transfer request.

#[must_use]fn test_set_balance<'life0, 'life1, 'async_trait>(
    &'life0 self,
    client_id: Option<&'life1 FullId>,
    amount: Coins
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

Set the coin balance to a specific value for testing

Loading content...

Implementations on Foreign Types

impl Client for CoreClient[src]

type Context = ()

Loading content...

Implementors

impl Client for AppClient[src]

type Context = AppContext

Loading content...