同步会话

会话控制如何在设备上的单个 Realm 与服务器上的 MongoDB 之间同步数据。

SyncSession是通过使用SyncConfiguration打开 Realm 实例来创建的。 创建会话后,它将继续存在,直到应用程序关闭或Realm关闭。

会话由 Realm 控制,但可以在出现错误时提供附加信息。 这些错误在ErrorHandler中传递。

创建会话时,Realm 将建立与服务器的连接。 此连接由 Realm 控制,可能在多个会话之间共享。

会话本身具有与底层连接不同的生命周期。

SyncSession对象是线程安全的。

类型

链接已复制到剪贴板
乐趣 接口 ErrorHandler

用于报告任何会话错误的接口。

链接已复制到剪贴板

SyncSession的可能状态。

属性

链接已复制到剪贴板

负责控制会话的SyncConfiguration

链接已复制到剪贴板
链接已复制到剪贴板

当前会话状态。 有关每个状态的更多详细信息,请参阅状态。

链接已复制到剪贴板
摘要 val user: user

用于对 Atlas App Services 上的会话进行身份验证的用户

功能

链接已复制到剪贴板

创建 ConnectionStateChange 事件 流 以接收会话连接状态更新的通知。

链接已复制到剪贴板
摘要 暂停 乐趣 downloadAllServerChanges(timeout : Duration = Duration.INFINITE): 布尔

调用此方法将阻塞,直到所有已知的远程更改都已下载并应用于 Realm 或达到指定的超时时间。 这将涉及网络访问,因此只能从非用户界面线程调用此方法。

链接已复制到剪贴板
摘要 乐趣 暂停()

暂停与 Atlas 的同步,直到关闭并重新打开 Realm。

链接已复制到剪贴板
摘要 乐趣 ProgressAsFlow(direction : Direction , progressMode : ProgressMode): Flow<进度>

创建 Progress -事件 Flow ,追踪 SyncSession 完成的下载或上传。

链接已复制到剪贴板
摘要 乐趣 resume()

尝试恢复会话并激活与 Atlas 的同步。

链接已复制到剪贴板
摘要 暂停 乐趣 uploadAllLocalChanges(timeout : Duration = Duration.INFINITE): 布尔

调用此方法将被阻止,直到所有已知的本地更改都已上传到服务器或达到指定的超时时间。 这将涉及网络访问,因此只能从非用户界面线程调用此方法。