IncrementalSyncManager

internal interface IncrementalSyncManager

Starts and Stops Incremental Sync.

Incremental Sync consists of receiving events, such as:

  • Messages

  • User Updates (like name, email, avatar)

  • Conversation Updates (name, add/remove members)

  • Team Updates (new member, name change)

  • Feature Flags Updates And many more.

Events come from an EventSource. Because EventSource.LIVE requires a constant Websocket connection, connectivity changes may drop the IncrementalSyncStatus down to IncrementalSyncStatus.Failed.

If an Event is lost, e.g. when this client becomes offline for too long, SlowSync will be invalidated and SlowSyncManager should perform a fresh SlowSync.

This Manager retries automatically in case of failures, but still doesn't actively monitor connectivity changes in general, like when a mobile phone changes from Wi-Fi to Mobile Data, etc.

See also

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
abstract fun performSyncFlow(): <Error class: unknown class><IncrementalSyncStatus>

While collected, performs IncrementalSync, by fetching and processing events, etc. Emits the current IncrementalSyncStatus as it progresses. In case of failure, will retry as needed. Does not end.