동기화Session

인터페이스 SyncSession

세션은 장치의 단일 Realm과 서버의 MongoDB 간에 데이터가 동기화되는 방식을 제어합니다.

SyncConfiguration 을 사용하여 Realm 인스턴스를 열면 SyncSession 가 생성됩니다. 세션이 생성되면 앱이 닫히거나 Realm 이 닫힐 때까지 세션이 계속 존재합니다.

세션은 Realm에서 제어하지만 오류 발생 시 추가 정보를 제공할 수 있습니다. 이러한 오류는 ErrorHandler 로 전달됩니다.

세션을 만들 때 Realm은 서버에 대한 연결을 설정합니다. 이 연결은 Realm에서 제어하며 여러 세션 간에 공유될 수 있습니다.

세션 자체는 기본 연결과 라이프사이클이 다릅니다.

SyncSession 객체는 스레드로부터 안전합니다.

유형

클립보드에 링크 복사됨
fun 인터페이스 ErrorHandler

세션 오류를 보고하는 데 사용되는 인터페이스입니다.

클립보드에 링크 복사됨

SyncSession 의 가능한 상태입니다.

속성

클립보드에 링크 복사됨

세션 제어를 담당하는 SyncConfiguration 입니다.

클립보드에 링크 복사됨
클립보드에 링크 복사됨

현재 세션 상태입니다. 각 상태에 대한 자세한 내용은 상태 를 참조하세요.

클립보드에 링크 복사됨
추상 val 사용자: 사용자

Atlas App Services에서 세션을 인증하는 데 사용되는 사용자 입니다.

함수

클립보드에 링크 복사됨

세션의 연결 상태에 대한 업데이트 알림을 수신하려면 ConnectionStateChange 이벤트의 Flow 를 만듭니다.

클립보드에 링크 복사됨
추상 일시 중단 fun downloadAllServerChanges(timeout: 지속 시간 = Duration.INfinITE): 부울

이 메서드를 호출하면 알려진 모든 원격 변경 사항이 Realm에 다운로드되어 적용되거나 지정된 시간 제한에 도달할 때까지 차단됩니다. 여기에는 네트워크 액세스가 포함되므로 이 메서드 호출은 UI가 아닌 스레드에서만 수행해야 합니다.

클립보드에 링크 복사됨
추상 fun 일시 중지()

Realm을 닫았다가 다시 열 때까지 Atlas와의 동기화를 일시 중지합니다.

클립보드에 링크 복사됨
추상 fun ProgressAsFlow(방향: 방향, ProgressMode: ProgressMode): Flow<진행 상황>

SyncSession 에 의해 수행된 다운로드 또는 업로드를 추적하는 이벤트 진행 흐름 을 생성합니다.

클립보드에 링크 복사됨
추상 fun 재개()

세션을 재개하고 Atlas와의 동기화를 활성화하려고 시도합니다.

클립보드에 링크 복사됨
추상 일시 중단 fun UploadAllLocalChanges(timeout: 지속 시간 = Duration.INfinITE): 부울

이 메서드를 호출하면 알려진 모든 로컬 변경 사항이 서버에 업로드되거나 지정된 시간 제한에 도달할 때까지 차단됩니다. 여기에는 네트워크 액세스가 포함되므로 이 메서드 호출은 UI가 아닌 스레드에서만 수행해야 합니다.