Ditto
2.0.6
|
The entrypoint to the Ditto SDK. More...
Public Member Functions | |
unsafe | Ditto (DittoIdentity identity=default, string workingDir="ditto") |
Initializes a new instance of the Ditto class. More... | |
unsafe void | StartSync () |
Starts the network transports. Ditto will connect to other devices. More... | |
void | StopSync () |
Stops all network transports. More... | |
unsafe void | SetOfflineOnlyLicenseToken (string licenseToken) |
Activate an offline Ditto instance by setting a license token. You cannot sync with Ditto before you have activated it. The offline license token is only valid for Development, Manual, OfflinePlayground and SharedKey identities. More... | |
DittoTransportDiagnostics | TransportDiagnostics () |
Request bulk status information about the transports. This is mostly intended for statistical or debugging purposes. More... | |
DittoPeersObserver | ObservePeers (Action< List< DittoRemotePeer >> callback) |
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. From then on it will be invoked repeatedly when Ditto devices come and go, or the active connections to them change. More... | |
unsafe void | RunGarbageCollection () |
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 collection process in the background at optimal times. More... | |
Properties | |
bool | IsSyncActive [get] |
Gets a value indicating whether or not sync is active. Use StartSync() to activate and StopSync() to deactivate sync. More... | |
bool | Activated [get] |
Gets a value indicating whether or not the SDK has been activated. More... | |
string | DeviceName [get, set] |
Gets or sets a custom identifier for the current device. More... | |
ulong | SiteId [get] |
Gets the unique identifier of a peer in Ditto's distributed mesh network. More... | |
DittoStore | Store [get] |
Gets a reference to the embedded data store. More... | |
unsafe string | SDKVersion [get] |
Gets a string identifying the version of the Ditto SDK. More... | |
DittoAuthenticator | Auth [get] |
Gets a DittoAuthenticator that provides access to authentication information and methods for logging on to Ditto Cloud. More... | |
DittoTransportConfig | TransportConfig [get, set] |
Gets or sets assign a new transports configuration. By default peer-to-peer transports are enabled. More... | |
Events | |
EventHandler< DittoTransportConditionChangedEventArgs > | DittoTransportConditionChanged |
An optional EventHandler delegate that can be provided to get updates about events relating to changes in network transports. More... | |
EventHandler< DittoAuthenticationRequestEventArgs > | DittoIdentityProviderAuthenticationRequest |
An optional EventHandler delegate that can be provided to respond to incoming authentication requests from peers who wish to join the Ditto mesh. Requires setup of signing and verification keys in the Http part of TransportConfig . More... | |
The entrypoint to the Ditto SDK.
For a Ditto
instance to continue to connect to other devices it must be kept in scope.
|
inline |
|
inline |
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. From then on it will be invoked repeatedly when Ditto devices come and go, or the active connections to them change.
callback | The Action that will be invoked when there is a presence update. |
DittoPeersObserver
instance, which must be retained to continue receiving callback updates.
|
inline |
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 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.
|
inline |
Activate an offline Ditto instance by setting a license token. You cannot sync with Ditto before you have activated it. The offline license token is only valid for Development, Manual, OfflinePlayground and SharedKey identities.
licenseToken | The license token to activate the Ditto instance with, which you can find on the Ditto portal (https://portal.ditto.live). |
DittoException | Thrown if the provided license token is expired or invalid. |
Exception | Thrown if you attempt to set an offline license token on an online idetity. |
|
inline |
Starts the network transports. Ditto will connect to other devices.
By default Ditto will enable all peer-to-peer transport types. The network configuration can be customized using the SetTransportConfig
method.
DittoException | Thrown if the Ditto instance hasn't been activated by a successful call to SetLicenseToken . |
|
inline |
Stops all network transports.
You may continue to use the database locally but no data will sync to or from other devices.
|
inline |
Request bulk status information about the transports. This is mostly intended for statistical or debugging purposes.
DittoTransportDiagnostics
that represents the current state of the network transports that the SDK is using.
|
get |
Gets a value indicating whether or not the SDK has been activated.
If false
then you need to call Ditto.SetLicenseToken(string) before interacting with the SDK.
|
get |
Gets a DittoAuthenticator
that provides access to authentication information and methods for logging on to Ditto Cloud.
|
getset |
Gets or sets a custom identifier for the current device.
When using ObservePeers()
, 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 StartSync()
. If it is too long it may be truncated.
|
get |
Gets a value indicating whether or not sync is active. Use StartSync()
to activate and StopSync()
to deactivate sync.
|
get |
|
get |
Gets the unique identifier of a peer in Ditto's distributed mesh network.
IMPORTANT: This must be unique or the merging and conflict resolution will have unexpected behavior.
|
get |
Gets a reference to the embedded data store.
|
getset |
Gets or sets assign a new transports configuration. By default peer-to-peer transports are enabled.
You may use this method to alter the configuration at any time, however sync will not begin until StartSync()
is called.
EventHandler<DittoAuthenticationRequestEventArgs> DittoSDK.Ditto.DittoIdentityProviderAuthenticationRequest |
An optional EventHandler
delegate that can be provided to respond to incoming authentication requests from peers who wish to join the Ditto mesh. Requires setup of signing and verification keys in the Http
part of TransportConfig
.
EventHandler<DittoTransportConditionChangedEventArgs> DittoSDK.Ditto.DittoTransportConditionChanged |
An optional EventHandler
delegate that can be provided to get updates about events relating to changes in network transports.