Recuperar Ou descarte a estratégia dealterações nã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
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.
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.
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.
chamada de resposta que indica que o reinício do cliente não foi concluído. Ele deve ser tratado como em ManuallyRecuperUnsyncedChangesStrategy.onClientReset.