リカバリ非同期 変更 戦略

インターフェース RecoverUnsyncedchangesStratey : Atlas App Services の

クライアントのリセット中に同期されていない変更を自動的に回復する戦略。

同期された Realm をリセットする必要があるのは、MongoDB Realm Server でエラーが発生し、バックアップから復元する必要があったため、またはクライアントがサーバーに接続してから時間が経過しすぎてサーバーがログをローテーションしたためです。

したがって、クライアントを完全に最新の状態にするために必要な情報がサーバーに存在しないため、クライアントリセットが発生します。

同期されていない変更を回復するプロセスは次のとおりです。 クライアントリセット がクライアントによって受信されると、 onBeforeResetコールバックが呼び出され、クライアントはリセットされます。 リセットが終了すると、変更が正常に回復された場合、 onAfterResetコールバックが呼び出されます。

クライアント リセットが マニュアル リセット フォールバック で同期されていないデータを破棄できなかった場合、 が呼び出されます。 これにより、 は、 ManuallyRecoverUnsyncedchangesStratey.onClientResetによって実行される際と同様に、リセットを手動で解決できるようになります。

関数

クリップボードにコピーされたリンク
抽象 fun onAfterReset(: TypedRealm : MutableRealm)

クライアントのリセットが発生すると呼び出されるコールバック。 これには 2 つの Realm インスタンスがあります。1 つはリセット前の状態を表示する固定インスタンスで、もう 1 つはリセットからオブジェクトを回復するために使用できる現在の状態を持つ通常のインスタンスです。

クリップボードにコピーされたリンク
抽象 fun onBeforeReset(realm: TypedRealm)

クライアントリセットがこれから実行されることを示すコールバック。 リセットされる Realm の固定インスタンスを受け取ります。

クリップボードにコピーされたリンク

クライアントのリセットが完了しなかったことを示すコールバック。 これはManuallyReoverUnsyncedchangesStratey.onClientResetの ように処理される必要があります。