pub struct Ditto { /* private fields */ }
Expand description

The entry point for accessing Ditto-related functionality.

This struct is generally a handle and interface to ditto-functionality which operates in background threads.

Implementations

Clean shutdown for the Ditto instance

Start syncing on all configured transports

Stop syncing on all transports.

Set a new TransportConfig and being syncing over these transports Any change to start or stop a specific transport should proceed via providing a modified configuration to this method.

Returns a snapshot of the currently configured transports.

Return the version of the SDK.

Enable of disable logging.

Return true if logging is enabled.

Represent whether or not emojis should be used as the log level indicator in the logs.

Set whether or not emojis should be used as the log level indicator in the logs.

Get the current minimum log level.

Set the current minimum log level.

Activate an offline Ditto instance by setting a license token.

You cannot initiate sync on an offline (OfflinePlayground, Manual, or SharedKey) Ditto instance before you have activated it.

Look for a license token from a given environment variable.

Returns a reference to the underlying local data store.

Returns the site ID that the instance of Ditto is using as part of its identity.

Returns the Ditto persistence directory path.

Returns the application Id being used by this Ditto instance.

Set a custom identifier for the current device.

When using observe_peers, each remote peer is represented by a short UTF-8 “device name”. By default this will be a truncated version of the device’s hostname. It does not need to be unique among peers. Configure the device name before calling start_sync. If it is too long it will be truncated.

👎Deprecated: Use presence().observe() instead

Request information about Ditto peers in range of this device.

This method returns an observer which should be held as long as updates are required. A newly registered observer will have a peers update delivered to it immediately. Then it will be invoked repeatedly when Ditto devices come and go, or the active connections to them change.

Return a handle to Presence to monitor the peers’ activity in the Ditto mesh. It can be used to retrieve an immediate representation of known peers :

let presence_graph = ditto.presence().exec();

Or to bind a callback to the changes :

let handle = ditto.presence().observe(|graph| {
    // do something with the graph
});
// The handle must be kept to keep receiving updates on the other peers.
// To stop receiving update, drop the handle.

Return a DiskUsage to monitor the disk usage of the Ditto instance. It can be used to retrieve an immediate representation of the Ditto file system:

let fs_tree = ditto.disk_usage().exec();

Or to bind a callback to the changes :

let handle = ditto.disk_usage().observe(|fs_tree| {
    // do something with the graph
});
// The handle must be kept to keep receiving updates on the file system.
// To stop receiving update, drop the handle.
👎Deprecated: Use persistence_directory instead

Returns the DittoRoot path.

👎Deprecated: Use persistence_directory instead

Returns the ditto persistence data directory path.

Returns the curent DittoAuthenticator if it exists.

Has this Ditto instance been activated yet with a valid license token.

Returns a builder for Ditto following the builder pattern.

Start constructing a new Ditto instance.

Construct a Ditto instance with sensible defaults.

This instance will still need to have a license set (if necessary) and sync functionality manually started.

Removes all sync metadata for any remote peers which aren’t currently connected. This method shouldn’t usually be called. Manually running garbage collection often will result in slower sync times. Ditto automatically runs a garbage a collection process in the background at optimal times.

Manually running garbage collection is typically only useful during testing if large amounts of data are being generated. Alternatively, if an entire data set is to be evicted and it’s clear that maintaining this metadata isn’t necessary, then garbage collection could be run after evicting the old data.

Explicitly opt-in to disabling the ability to sync with Ditto peers running any version of the SDK in the v3 (or lower) series of releases.

Assuming this succeeds then this peer will only be able to sync with other peers using SDKs in the v4 (or higher) series of releases. Note that this disabling of sync spreads to peers that sync with a peer that has disabled, or has (transitively) had disabled, syncing with v3 SDK peers.

Trait Implementations

The resulting type after dereferencing.
Dereferences the value.
Executes the destructor for this type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Converts to T by calling Into<T>::into.
Tries to convert to T by calling TryInto<T>::try_into.
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.