Struct safe_network::client::client_api::Client
source · [−]pub struct Client { /* private fields */ }
Expand description
Client object
Implementations
Send a signed DataCmd to the network. This is to be part of a public API, for the user to provide the serialised and already signed command.
Reads Bytes
from the network, whose contents are contained within on or more chunks.
Read bytes from the network. The contents are spread across multiple chunks in the network. This function invokes the self-encryptor and returns the data that was initially stored.
Takes position
and length
arguments which specify the start position
and the length of bytes to be read.
Passing 0
to position reads the data from the beginning,
and the length
is just an upper limit.
Examples
TODO: update once data types are crdt compliant
Tries to chunk the bytes, returning an address and chunks, without storing anything to network.
Directly writes Bytes
to the network in the
form of immutable chunks, without any batching.
Directly writes Bytes
to the network in the
form of immutable chunks, without any batching.
It also attempts to verify that all the data was uploaded to the network before returning.
Calculates a LargeFile’s/SmallFile’s address from self encrypted chunks, without storing them onto the network.
Send a Query to the network and await a response. Queries are automatically retried using exponential backoff if the timeout is hit.
Send a Query to the network and await a response. Queries are not retried if the timeout is hit.
Send a Query to the network and await a response. This is part of a public API, for the user to provide the serialised and already signed query.
Publish all register mutation operations in a WAL to the network Incrementing the WAL index as successful writes are sent out. Stops at the first error. Starts publishing from the index when called again with the same WAL.
Creates a Register on the network which can then be written to.
Returns a write ahead log (WAL) of register operations, note that the changes are not uploaded to the
network until the WAL is published with publish_register_ops
A tag must be supplied. A xorname must be supplied, this can be random or deterministic as per your apps needs.
pub async fn delete_register(
&self,
address: Address
) -> Result<RegisterWriteAheadLog, Error>
pub async fn delete_register(
&self,
address: Address
) -> Result<RegisterWriteAheadLog, Error>
Delete Register
Returns a write ahead log (WAL) of register operations, note that the changes are not uploaded to the
network until the WAL is published with publish_register_ops
You’re only able to delete a PrivateRegister. Public data can not be removed from the network.
Write to Register
Returns a write ahead log (WAL) of register operations, note that the changes are not uploaded to the
network until the WAL is published with publish_register_ops
Public or private isn’t important for writing, though the data you write will be Public or Private according to the type of the targeted Register.
Get the entire Register from the Network
Get the leaf entries from a Register, i.e. the latest entry of each branch.
Get an entry from a Register on the Network by its hash
Get the owner of a Register.
pub async fn get_register_permissions_for_user(
&self,
address: Address,
user: User
) -> Result<Permissions, Error>
pub async fn get_register_permissions_for_user(
&self,
address: Address,
user: User
) -> Result<Permissions, Error>
Get the set of Permissions in a Register for a specific user.
Easily manage connections to/from The Safe Network with the client and its APIs. Use a random client for read-only or one-time operations. Supply an existing, SecretKey which holds a SafeCoin balance to be able to perform write operations.
pub async fn new(
config: ClientConfig,
bootstrap_nodes: BTreeSet<SocketAddr>,
optional_keypair: Option<Keypair>
) -> Result<Self, Error>
pub async fn new(
config: ClientConfig,
bootstrap_nodes: BTreeSet<SocketAddr>,
optional_keypair: Option<Keypair>
) -> Result<Self, Error>
Create a Safe Network client instance. Either for an existing SecretKey (in which case) the client will attempt to retrieve the history of the key’s balance in order to be ready for any token operations. Or if no SecreteKey is passed, a random keypair will be used, which provides a client that can only perform Read operations (at least until the client’s SecretKey receives some token).
Examples
TODO: update once data types are crdt compliant
Return the client’s keypair.
Useful for retrieving the PublicKey or KeyPair in the event you need to sign something
Examples
TODO: update once data types are crdt compliant
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Client
impl !UnwindSafe for Client
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more