Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/ / /

Interface DiscardUnsyncedChangesStrategy

Nesta página

  • io.realm.mongodb.sync
  • Resumo do método
  • Métodos herdados
  • Detalhes do método
  • onAfterReset
  • onBeforeReset
  • onError

Interfaces implementadas:

Estratégia que resolve automaticamente uma redefinição de cliente descartando quaisquer dados não sincronizados, mas mantendo o Realm aberto. Qualquer alteração será relatada por meio da coleção normal e das notificações de objeto . Um realm sincronizado pode precisar ser redefinido porque o servidor MongoDB Realm Realm 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 para que o servidor tenha girado os logs.

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 reinício do cliente é acionada, o chamada de resposta de resposta onBeforeReset( Realm ) é invocado, 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 chamada de resposta de chamada onAfterReset(Realm, Realm) seria invocado com uma instância do Realm final .

evento 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) .

Modificador e tipo
Método e descrição
public void
Realm before,
Realm after
)

O retorno de chamada é invocado assim que o reinício do cliente acontece.

public void

Chamada de resposta que indica que um reinício do cliente está prestes a acontecer.

public void

Chamada de retorno que indica que a redefinição contínua do cliente não pôde ser concluída.

public void onAfterReset (
Realm before,
Realm after
)

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

  • before - Realm congelado Realm antes depois da redefinição.

  • after - Realm Realm após o reinício.

public void onBeforeReset (
Realm realm
)

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

  • realm - Realm congelado em seu estado antes da redefinição.

public void onError (
)

Chamada de resposta que indica que o reinício do cliente contínuo não pôde ser concluído. Ele deve ser tratado como ManuallyRecoverUnsyncedChangesStrategy.onClientReset(SyncSession, ClientResetRequiredError) .

Parâmetros

Voltar

Estado da conexão