同期セッション

インターフェース SyncSession

セッションは、デバイス上の単一の Realm とサーバー上の MongoDB 間でデータが同期される方法を制御します。

SyncSessionは、同期構成を使用して Realm インスタンスを開くことによって作成されます。 セッションが作成されると、アプリが閉じられるか、 Realmが閉じられるまで、そのセッションは存在し続けます。

セッションは Realm によって制御されますが、エラーが発生した場合に追加情報を提供できます。 これらのエラーはErrorHandlerに渡されます。

セッションを作成する際、Realm はサーバーへの接続を確立します。 この接続は Realm によって制御され、複数のセッション間で共有される場合があります。

セッション自体のライフサイクルは、基礎となる接続とは異なります。

SyncSessionオブジェクトはスレッドセーフです。

タイプ

クリップボードにコピーされたリンク
fun インターフェース ErrorHandler

セッション エラーを報告するために使用されるインターフェース。

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

SyncSessionの可能な状態

プロパティ

クリップボードにコピーされたリンク
抽象 価値 構成: SyncConfiguration

セッションを制御するSyncConfiguration

クリップボードにコピーされたリンク
クリップボードにコピーされたリンク
抽象 価値 状態: SyncSession.State

現在のセッション状態。 各状態の詳細については、「 状態 」を参照してください。

クリップボードにコピーされたリンク
抽象 価値 user: user

Atlas App Services でセッションを認証するために使用されるユーザー

関数

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

セッションの接続状態に対する更新の通知を受信するために ConnectionStatechange イベントの フロー を作成します。

クリップボードにコピーされたリンク
抽象 paused fun ダウンロードAllServerChecks(タイムアウト : = duration.INFINITE): ブール値

このメソッドを呼び出すと、既知のリモート変更がすべてダウンロードされ Realm に適用されるか、指定されたタイムアウトに達するまでブロックされます。 これにはネットワーク アクセスが含まれるため、このメソッドを呼び出す場合は UI 以外のスレッドからのみ実行する必要があります。

クリップボードにコピーされたリンク
抽象 fun pause()

Realm が閉じてから再度開かれるまで、Atlas との同期を一時停止します。

クリップボードにコピーされたリンク
抽象 fun gressAsFlow(指示:方向プログレス モード:プログレス モード): フロー<進行状況>

SyncSession によって行われたダウンロードまたはアップロードのいずれかを追跡する「 進行状況 の フロー 」イベントを作成します。

クリップボードにコピーされたリンク
抽象 fun 再開()

セッションを再開し、Atlas との同期をアクティブ化しようとします。

クリップボードにコピーされたリンク
抽象 paused fun アップロードAllLocalchanges(タイムアウト : = duration.INFINITE): ブール値

このメソッドを呼び出すと、既知のローカル変更がすべてサーバーにアップロードされるか、指定されたタイムアウトに達するまでブロックされます。 これにはネットワーク アクセスが含まれるため、このメソッドを呼び出す場合は UI 以外のスレッドからのみ実行する必要があります。