恢复未同步 变更 策略

尝试在客户端重置期间自动恢复任何未同步更改的策略。

一个同步的 Realm 可能需要重置,因为 MongoDB Realm 服务器遇到错误,必须从备份中恢复,或者因为客户端连接到服务器已经太长时间,因此服务器已经轮换了日志。

由于服务器没有使客户端完全更新所需的全部信息,因此会发生客户端重置。

恢复未同步更改的过程如下:当客户端收到客户端重置时,会调用onBeforeReset回调,之后客户端将被重置。 如果已成功恢复更改,则在重置结束后,将调用onAfterReset回调。

在客户端重置无法丢弃未同步的数据的事件中,将调用onManualResetFallback。这允许手动解决重置问题,就像通过ManuallyRecoverUnsyncedChangesStrategy.onClientReset完成的一样。

功能

链接已复制到剪贴板
摘要 乐趣 onAfterReset(before TypedRealm after MutableRealm)

发生客户端重置后调用的回调。 它接收两个 Realm 实例:一个冻结实例显示重置前的状态,另一个常规实例显示当前状态,可用于从重置中恢复对象。

链接已复制到剪贴板
摘要 乐趣 onBeforeReset(: TypedRealm)

指示即将发生客户端重置的回调。 它接收将要重置的 域 的冻结实例。

链接已复制到剪贴板
摘要 乐趣 onManualResetFallback(会话 SyncSession 异常 ClientResetRequiredException)

指示客户端重置未能完成的回调。 应按照ManuallyRecoverUnsyncedChangesStrategy.onClientReset进行处理。