RecuperarOu descarte a estratégia dealteraçõesnão sincronizadas

Estratégia que tenta recuperar automaticamente quaisquer alterações não sincronizadas durante um reinício do cliente; se a recuperação falhar, as alterações serão descartadas.

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 ou descarte 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 que o cliente será redefinido. Depois que o reinício for concluído, a chamada de resposta onAfterRecuperação será invocada se as alterações tiverem sido recuperadas com êxito, caso contrário, as alterações serão descartadas e onAfterDiscard será invocado.

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 onAfterDiscard(antes: TypedRealm, depois: MutableRealm)

A chamada de resposta é invocada depois que o reinício do cliente descarta as alterações não sincronizadas porque não foi possível recuperá-las. Ele fornece duas Instância de Realm, uma congelada exibindo o estado antes da redefinição e uma Realm regular exibindo o estado atual que pode ser usado para recuperar objeto da redefinição.

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

Chamada de resposta invocada assim que o reinício do cliente recuperar as alterações não sincronizadas com sucesso. Ele fornece duas Instância de Realm, uma congelada exibindo o estado antes da redefinição e um Realm mutável com o estado atual.

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.