서브스크립션세트

구독 세트는 Flexible Sync를 위해 구성된 특정 Realm에 대한 모든 현재 구독을 변경할 수 없는 보기입니다.

Flexible Sync는 RealmQuery를 사용하여 어떤 데이터가 기기와 동기화되거나 기기에서 동기화되는지 정의하는 방법입니다. 쿼리와 해당 메타데이터는 구독 으로 표시됩니다.

따라서 구독 세트는 장치에서 사용할 수 있고 서버와 동기화되는 모든 데이터를 정의합니다. 유효하지 않은 쿼리를 포함하는 등 구독 세트에 오류가 발생하면 전체 구독 세트가 SubscriptionSetState.ERROR 상태가 되며 오류가 수정될 때까지 동기화가 발생하지 않습니다.

구독이 제거되면 해당 데이터도 제거되지만 장치에서만 제거됩니다. 서버에서 삭제되지 않습니다.

오프라인 상태에서도 구독 세트를 수정할 수 있지만 BaseSubscriptionSet.stateSubscriptionSetState.COMPLETE 를 반환하기 전에 서버에서 수정 사항을 수락하지 않으려면 장치가 온라인 상태여야 합니다.

waitForSynchronization 을 사용하여 구독 세트가 서버와 동기화될 때까지 기다릴 수 있습니다.

속성

클립보드에 링크 복사됨

상태SubscriptionSetState.ERROR 를 반환하는 경우 이 메서드는 이유를 반환합니다. 이에 따라 구독을 수정한 다음 SubscriptionSet.waitForSynchronization 을 호출하여 오류를 수정할 수 있습니다.

클립보드에 링크 복사됨
추상 val size: Int

현재 이 구독 세트에 있는 구독 수입니다.

클립보드에 링크 복사됨

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

함수

클립보드에 링크 복사됨
추상 fun 닫기()
클립보드에 링크 복사됨

지정된 이름의 구독을 찾습니다.

클립보드에 링크 복사됨

지정된 쿼리가 포함된 첫 번째 구독을 찾습니다. 여러 개의 명명된 구독에 동일한 쿼리가 포함될 수 있습니다.

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

구독 세트의 상태 를 새로 고쳐 구독의 최신 기본 상태를 반영합니다.

클립보드에 링크 복사됨
추상 일시 중단 fun update(block: MutableSubscriptionSet.(영역: T) -> 단위): SubscriptionSet<t>

구독 세트를 수정합니다. 업데이트 중에 예외가 발생하면 변경 사항이 적용되지 않습니다. 업데이트가 성공하면 이 구독 세트가 수정된 상태로 업데이트됩니다.

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

구독 세트가 서버와 동기화될 때까지 기다립니다. 서버가 쿼리 세트를 수락하고 쿼리에 대한 데이터를 다운로드했거나 오류가 발생한 경우 반환됩니다.