RecuperarEstratégiade alterações não sincronizadas

Estratégia que tenta recuperar automaticamente quaisquer alterações não sincronizadas durante um reinício do cliente.

Um domínio sincronizado pode precisar ser redefinido porque o Servidor MongoDB Realm encontrou um erro e teve que ser restaurado a partir de um backup ou porque passou muito tempo desde que o cliente se conectou ao servidor, então o servidor rotacionou 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 recuperação de alterações não sincronizadas é o seguinte: quando um reinício do cliente é recebido pelo cliente, a chamada de resposta onBeforeReset é invocada, após o qual o cliente será redefinido. Depois que o reinício for concluído, a chamada de resposta onAfterReset será invocada se as alterações tiverem sido recuperadas com êxito.

No evento de que o reinício do cliente não possa descartar os dados não sincronizados, onManualResetFallback será invocado. Isso permite resolver manualmente a redefinição, como teria sido feita por ManuallyRecuperUnsyncedChangesStrategy.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.