接口 DiscardUnsyncedChangesStrategy
io.realm.mongodb.sync
实现的接口:
该策略通过丢弃任何未同步的数据来自动解决客户端重置问题,但在其他情况下保持Realm打开。 任何更改都将通过普通集合和对象通知进行报告。同步的Realm可能需要重置,因为MongoDB Realm Server 遇到错误,必须从备份中恢复,或者因为客户端连接到 Realm Server 已经太长时间了。服务器,以便服务器已轮换日志。
由于服务器没有使客户端完全更新所需的完整信息,因此会发生客户端重置。
丢弃未同步更改重置进程如下:当触发客户端重置时,会调用 onBeforeReset(Realm)回调,提供重置前Realm的一个实例和重置后的另一个 Realm 实例,均为只读。 重置完成后,将使用最终Realm的实例调用回调onAfterReset(Realm, Realm ) 。
事件丢弃未同步的数据不足以解决调用onError(SyncSession, ClientResetRequiredError)的重置问题,则允许手动解决重置问题,就像在ManuallyRecoverUnsyncedChangesStrategy.onClientReset(SyncSession, ClientResetRequiredError)中完成的操作一样。
方法摘要
修饰符和类型 | 方法和说明 |
---|---|
public void | 发生客户端重置后调用的回调。 |
public void | 指示即将发生客户端重置的回调。 |
public void | 指示无法完成无缝客户端重置的回调。 |
继承方法
方法详细信息
onAfterReset
onBeforeReset
onError
指示无法完成无缝客户端重置的回调。 应将其处理为ManuallyRecoverUnsyncedChangesStrategy.onClientReset(SyncSession, ClientResetRequiredError) 。 参数
|