Package live. ditto
Types
Typically this will only be used if interacting with the SDK from Java. You can call observe
with an object that implements this interface.
A directory or file in the Ditto working directory. Directories can be traversed by accessing the children
property. Files won't have any children.
Opaque handle for disk usage observation. Callback start immediately. Call close()
to stop.
An address uniquely representing another device on the Ditto network.
Represents an attachment and can be used to insert the associated attachment into a document at a specific key.
These objects are returned by calls to DittoStore.fetchAttachment.
The different events that can occur in relation to an attachment fetch.
Typically this will only be used if interacting with the SDK from Java. You can call fetchAttachment
with an attachment token and an object that implements this interface.
The different types of DittoAttachmentFetchEvent.
Serves as a token for a specific attachment that you can pass to a call to fetchAttachment
on the DittoStore.
Provides feedback to the developer about Ditto authentication status.
Provides info about the authentication status.
Typically this will only be used if interacting with the SDK from Java. You can call observeStatus()
with an object that implements this interface.
Log in to a remote authentication service, using an OnlineWithAuthentication
or an Online
identity.
Callbacks relating to Ditto Bus for both receiving single messages and accepting incoming streams.
A message-based communication channel to another peer in the mesh.
Callbacks required to use the Ditto Bus API with explicit stream handles.
The callback
property of Ditto instances can be set to be an object that implements this interface.
A store observation handler is called whenever an active store observer receives a new query result.
A store observation handler is called whenever an active store observer receives a new query result. Call signalNext to signal that the handler is ready to receive the next callback from the store observer.
A reference to a collection in a DittoStore.
Typically this will only be used if interacting with the SDK from Java. You can call observeLocal
with an object that implements this interface.
Provides information about the changes that have occurred in relation to an event delivered when observing the collections in a DittoStore
. It contains information about the collections that are known as well as the collections that were previously known in the previous event, along with information about what collections have been inserted, deleted, updated, or moved since the last event.
Typically this will only be used if interacting with the SDK from Java. You can call observeLocalWithNextSignal
with an object that implements this interface.
Represents a connection between two peers on the Ditto mesh network.
The priority with which the local device should reach out to particular remote peers in the Ditto mesh.
Contains information about a remote peer that has requested a connection.
Indicates whether a connection request should be authorized.
A handler for connection requests from other peers.
Set a DittoConnectionRequestHandler on Presence.connectionRequestHandler to allow or deny connection requests from other peers.
The type of DittoConnection
between two DittoPeer
s signaling what transport is being used.
Container for a number. See DittoMutableCounter which can be incremented and decremented.
An interface describing the dependencies required to initialise a Ditto instance.
A document belonging to a DittoCollection with an inner value.
An identifier for a DittoDocument.
Provides an interface to specify a path to a key in a document identifier that you can then call a function on to get the value at the specified key as a specific type. You obtain a DittoDocumentIdPath by subscripting a DittoDocumentId and you can then further subscript a DittoDocumentIdPath to further specify the key of the document identifier that you want to get the value of.
Provides an interface to specify a path to a key in a document that you can then call a function on to get the value at the specified key as a specific type. You obtain a DittoDocumentPath by subscripting a DittoDocument and you can then further subscript a DittoDocumentPath to further specify the key of the document that you want to get the value of.
All errors that are thrown by the Ditto SDK are wrapped as a DittoError. This type wraps multiple different types of error that each have an associated reason.
Upcoming SDK features made available for prototyping.
The various identity configurations that you can use when initializing a Ditto instance.
The type that is returned when calling observeLocal
on a DittoCollection object. It handles the logic for calling the event handler that is provided to the observeLocal
call.
Typically this will only be used if interacting with the SDK from Java. You can call observeLocal
with an object that implements this interface.
Describes the different types of event that you can receive when dealing with live queries.
Describes the index in a list of documents that a document was previously found at (from
) and the index that it can now be found at (to
).
Typically this will only be used if interacting with the SDK from Java. You can call observeLocalWithNextSignal
with an object that implements this interface.
Typically this will only be used if interacting with the SDK from Java. You can call setCustomLogCallback
with an object that implements this interface.
This is an interface allowing to shim / wrap a call to ditto_log
from the dittoffi
.
Main singleton (global instance) to tweak the behavior of Ditto's logging infrastructure.
Typically this will only be used if interacting with the SDK from Java. You can call login
with an object that implements this interface.
Typically this will only be used if interacting with the SDK from Java. You can call loginWithToken
or loginWithCredentials
with an object that implements this interface.
Typically this will only be used if interacting with the SDK from Java. You can call logout
with an object that implements this interface.
Container for a number that can be incremented and decremented.
This is used as part of update operations for documents. It provides access to updating a document through a subscript-based API. A subscript operation returns a DittoMutableDocumentPath that you can then use to chain further subscript operations to in order to access nested values in a document. Once you've defined the path to a key in a document that you'd like to update, by using subscripts, then you can use the functionality defined on DittoMutableDocumentPath to perform the desired document update(s). Note that objects of this type should only be used within the scope of the update closure that they are provided in.
Provides an interface to specify a path to a key in a document that you can then call various update functions on. You obtain a DittoMutableDocumentPath by subscripting a DittoMutableDocument and you can then further subscript a DittoMutableDocumentPath to further specify the key of the document that you want to update.
Typically this will only be used if interacting with the SDK from Java. You can call update
with an object that implements this interface.
Represents a mutable CRDT register that can be updated while updating a document. This class can't be instantiated directly, it's returned automatically for any register property within an update block. See also the register
properties of DittoDocumentPath and DittoMutableDocumentPath.
Provides feedback to the developer about Ditto authentication status.
A unique identifier for a peer in the Ditto mesh. This is an opaque binary value containing the peer's public key.
A token returned by observePeers()
and observePeersV2()
. Call close()
to unsubscribe this handler.
A token returned by observePeers()
. Call close()
to unsubscribe this handler.
Typically this will only be used if interacting with the SDK from Java. You can call observePeers
on a Ditto instance with an object that implements this interface.
A token returned by observePeersV2()
. Call close()
to unsubscribe this handler.
Typically this will only be used if interacting with the SDK from Java. You can call observePeersV2
on a Ditto instance with an object that implements this interface.
These objects are returned when calling collections()
on DittoStore
.
These objects are returned when using find
-like functionality on DittoCollections. They allow chaining of further query-related functions to do things like add a limit to the number of documents you want returned or specify how you want the documents to be sorted and ordered. You can either call exec
on the object to get an array of DittoDocuments as an immediate return value, or you can establish either a live query or a subscription, which both work over time. A live query, established by calling observeLocal
, will notify you every time there's an update to a document that matches the query you provided in the preceding find
-like call. A subscription, established by calling subscribe
, will act as a signal to other peers that the device connects to that you would like to receive updates from them about documents that match the query you provided in the preceding find
-like call. Update and remove functionality is also exposed through this object.
These objects are returned when using findById
functionality on DittoCollections. You can either call exec
on the object to get an immediate return value, or you can establish either a live query or a subscription, which both work over time. A live query, established by calling observeLocal
, will notify you every time there's an update to the document with the identifier you provided in the preceding findById
call. A subscription, established by calling subscribe
, will act as a signal to other peers that you would like to receive updates from them about the document with the identifier you provided in the preceding findById
call. Update and remove functionality is also exposed through this object.
Represents the Ditto mesh network of peers and their connections between each other. The localPeer
is the entrypoint, all others are remote peers known by the local peer (either directly or via other remote peers).
A token returned by presence.observe()
. Call close()
to unsubscribe this handler.
Typically this will only be used if interacting with the SDK from Java. You can call observePeers
on a Ditto instance with an object that implements this interface.
Represents results returned when executing a DQL query containing a DittoQueryResultItem for each match.
Represents a single match of a DQL query, similar to a "row" in SQL terms. It's a reference type serving as a "cursor", allowing for efficient access of the underlying data in various formats.
Container for a number. See DittoMutableCounter which can be incremented and decremented.
A summary snapshot of a currently-connected peer. observePeersV2
on a Ditto instance with an object that implements this interface.
DittoScopedWriteTransaction exposes functionality that allows you to perform multiple operations on the store within a single write transaction.
Lambda to be invoked when you are ready for more results.
The interface that you must implement with the third parameter provided to observeLocalWithNextSignal
calls.
Typically this will only be used if interacting with the SDK from Java. You can call observeLocal
with an object that implements this interface.
Provides information about a live query event relating to a single document live query.
Typically this will only be used if interacting with the SDK from Java. You can call observeLocalWithNextSignal
with an object that implements this interface.
Typically this will only be used if interacting with the SDK from Java. You can call update
with an object that implements this interface.
Describes the direction when sorting a query.
Provides access to execute Ditto queries, work with DittoCollections and a write transaction API.
A store observer invokes an observation handler whenever results for its query change.
While DittoSubscription objects remain in scope they ensure that documents in the collection specified and that match the query provided will try to be kept up-to-date with the latest changes from remote peers.
A sync subscription configures Ditto to receive updates from remote peers about documents matching the subscription's query.
Describes the result of an update operation performed on a DittoMutableDocument
.
Defines the various strategies available when inserting a document into a collection.
DittoWriteTransaction exposes functionality that allows you to perform multiple operations on the store within a single write transaction. You must use the scoped
function to get collection-scoped access to the write transaction object, which will then allow you to perform insert, update, remove or evict operations using the write transaction.
Typically this will only be used if interacting with the SDK from Java. You can call write
on a DittoStore instance with an object that implements this interface.
These objects are returned when using find
-like functionality on DittoScopedWriteTransactions. You can use them to perform updates on a document and remove or evict a document.
These objects are returned when using findById functionality on DittoScopedWriteTransactions. You can use them to perform updates on a document and remove or evict a document.
Describes one part of the result of a write transaction.
Enum for the type of file represented by a DiskUsageItem
.