Incoming Synchronization Modes
The Engine supports 4 synchronization modes:
- Timer pooling mode.
- CRUD.
- Sync ID algorithm mode.
- Folder content invalidation mode.
Note that for the effective synchronization your remote storage must support content and metadata eTags (versions, in terms of macOS). See Detecting Changes Using Content and Metadata eTags (Versions) article.
Pooling Synchronization
During pooling synchronization the Engine traverses all folders loaded on the client and calls IFolder.GetChildrenAsync() on each folder to get new folder content from your remote storage. The Engine will compare folder content and metadata using eTags to create, update and delete items on the client.
If your remote storage does not provide any notifications about items changes you can configure periodic timer pooling synchronization.
See the Pooling Incoming Synchronization article.
CRUD Synchronization
In case your remote storage provides updates via create, update, delete and move events via web sockets you will use the IServerNotifications interface to reflect changes in the user file system.
If the connection was lost, web sockets disconnected or Engine was not running you will sync all changes by running one-time pooling synchronization.
See the CRUDE Incoming Synchronization article.
Sync ID Synchronization
Sync ID algorithm allows you to request all changes that happened in the remote storage since provided sync token using a single request. This mode requires each item to have the unique ID (remote storage item ID), content eTag and metadata eTag (version, in terms of macOS). You server will increment sync ID on every change on the server and store it with the item being changed.
See the Sync ID Incoming Synchronization article.
Folder Content Invalidation Mode
If your server does not support any push notification and you wish to avoid pooling you can set folder content invalidation to update folder content whenever any app or the platform lists folder content. This mode is supported on Windows platform only and can not be used in combination with SyncID or any other synchronization mode.
In this mode the Refresh button in Windows Explorer can be used to update folder content.
See the Folder Content Invalidation Mode article.