Página inicial do Docs → Desenvolver aplicações → Atlas Device SDKs
Interface DiscardUnsyncedChangesStrategy
Nesta página
io.realm.mongodb.sync
Interfaces implementadas:
Estratégia que resolve automaticamente um reinício do cliente descartando quaisquer dados não sincronizados, mas mantendo o Realm aberto. Todas as alterações serão relatadas por meio da collection normal e de notificações de objeto.Um Realm sincronizado pode precisar ser redefinido porque o MongoDB Realm 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 girado os registros.
O reinício do cliente, portanto, ocorre porque o servidor não tem as informações completas necessárias para deixar o cliente totalmente atualizado.
O processo de redefinição de descarte de alterações não sincronizadas é o seguinte: quando uma redefinição de cliente é acionada, a chamada de resposta onBeforeReset(Realm) é invocada, fornecendo uma instância do Realm antes da redefinição e outra após a redefinição, ambas somente para leitura. Depois que o reinício for concluído, o retorno de chamada onAfterReset(Realm, Realm) será invocado com uma instância do Realm final.
Caso o descarte de dados não sincronizados não seja suficiente para resolver a redefinição que o onError(SyncSession, ClientResetRequiredError) seria invocado, ele permite resolver manualmente a redefinição como seria feito em ManuallyRecoverUnsyncedChangesStrategy.onClientReset(SyncSession, ClientResetRequiredError) .
Resumo do método
Modificador e tipo | Método e descrição |
---|---|
público vazio | O retorno de chamada é invocado assim que o reinício do cliente acontece. |
público vazio | Chamada de resposta que indica que um reinício do cliente está prestes a acontecer. |
público vazio | Chamada de retorno que indica que a redefinição contínua do cliente não pôde ser concluída. |
Métodos herdados
Detalhes do método
onAfterReset
O retorno de chamada é invocado assim que o reinício do cliente acontece. Ele fornece duas Instância de Realm, uma congelada exibindo o estado antes da redefinição e um Realm regular com o estado atual, que pode ser usado para recuperar objeto da redefinição. Parâmetros |
onBeforeReset
Chamada de resposta que indica que um reinício do cliente está prestes a acontecer. Ele fornece uma instância congelada do Realm que será redefinida. Parâmetros
|
onError
chamada de resposta que indica que o reinício do cliente não pôde ser concluído. Ele deve ser tratado como ManuallyReviewUnsyncedChangesStrategy.onClientReset(SyncSession, ClientResetRequiredError) . Parâmetros
|