丢弃未同步 变更 策略

该策略通过丢弃任何未同步的本地数据来自动解决客户端重置,但在其他情况下保持域处于打开状态。任何更改都将通过普通集合和对象通知进行报告。

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

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

未同步变更的重置过程如下:当触发客户端重置时,会调用onBeforeReset回调,从而提供重置前的域实例。一旦重置结束,将使用之前的实例(只读)和最终域的实例(可变)调用onAfterReset

如果丢弃未同步的数据不足以解决重置问题,则会调用onManualResetFallback回调,允许手动解决重置问题,就像在ManuallyRecoverUnsyncedChangesStrategy.onClientReset中完成的那样。

功能

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

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

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

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

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

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