DescartarEstratégiade alterações não sincronizadas

Estratégia que resolve automaticamente um reinício do cliente descartando quaisquer dados locais não sincronizados, mas mantém o domínio aberto. Quaisquer alterações serão relatadas por meio da collection normal e das notificações de objeto.

Um Realm sincronizado pode precisar ser redefinido porque o Realm Mobile Sync encontrou um erro e teve que ser restaurado a partir de um backup, ou porque faz muito tempo desde que o cliente se conectou ao servidor, então o servidor gire os logs.

O reinício do cliente, portanto, ocorre porque o servidor não tem todas as informações necessárias para deixar o cliente totalmente atualizado.

O processo de redefinição para alterações não sincronizadas é o seguinte: quando um reinício do cliente é acionado, a chamada de resposta onBeforeReset é invocada, fornecendo uma instância do Realm antes da redefinição. Após a conclusão do reinício, onAfterReset será invocado com a instância antes (somente leitura) de uma instância do Realm final (mutável).

Caso o descarte dos dados não sincronizados não seja suficiente para resolver a redefinição, a chamada de resposta onManualResetFallback será invocada, permitindo resolver manualmente a redefinição, como seria feito em ManuallyRecoverUnsyncedChangesStrategy.onClientReset.

Funções

Link copiado para a área de transferência
resumo Diversão onAfterReset(antes: TypedRealm, depois: MutableRealm)

O retorno de chamada é invocado assim que o reinício do cliente acontece. Ele recebe duas Instância de Realm: uma congelada exibindo o estado antes da redefinição e uma regular com o estado atual que pode ser usada para recuperar objeto da redefinição.

Link copiado para a área de transferência
resumo Diversão onBeforeReset(Realm: TypedRealm)

Chamada de resposta que indica que um reinício do cliente está prestes a acontecer. Ele recebe uma instância congelada do Realm que será redefinida.

Link copiado para a área de transferência
resumo Diversão onManualResetFallback(sessão: SyncSession, exceção: ClientResetRequiredException)

chamada de resposta que indica que o reinício do cliente não foi concluído. Ele deve ser tratado como em ManuallyRecuperUnsyncedChangesStrategy.onClientReset.