Realm ~App .Sync . Sessão

Um objeto encapsulando uma sessão de sincronização do Atlas Device Sync. As sessões representam a comunicação entre o cliente (e um Arquivo de Realm local no disco) e o servidor. As sessões são sempre criadas pelo SDK e distribuídas por meio de várias API. A duração das sessões associadas aos Realms é managed automaticamente.

config

Obtém a parte Sync da configuração com a qual o Realm correspondente foi construído.

Tipo:
object
state

Obtém o estado atual da sessão. Pode ser um dos seguintes:

  • "active": a sessão de sincronização está se comunicando ativamente ou tentando se comunicar com o Atlas App Services. Uma sessão pode ser considerada ativa mesmo que não esteja conectada no momento. Para saber se uma sessão está online, verifique o estado da conexão.
  • "inactive": a sessão de sincronização não está tentando se comunicar com o Atlas App Services devido ao logout do usuário ou à pausa da sincronização.
  • "invalid": a sessão de sincronização encontrou um erro não recuperável e é permanentemente inválida. Crie uma nova sessão para continuar sincronizando.
Tipo:
string
URL

Obtém a URL do servidor Objeto de Realm ao qual esta sessão está conectada.

Tipo:
string
utilizador

Obtém o usuário com o qual esta sessão foi criada.

Tipo:
User
addConnectionNotification(chamada de resposta)

Registra uma notificação de conexão no objeto da sessão. Ele será notificado sobre alterações na conexão subjacente com o Servidor de objetos de Realm.

Parâmetros:
  • chamada de resposta
    • Tipo: callback(newState, oldState)
    • chamado com os seguintes argumentos:

      • newState - o novo estado da conexão
      • oldState - o estado do qual a conexão fez a transição.
addProgressNotification(direção, modo, chamada de resposta)

Registre uma chamada de resposta de notificação de progresso em um objeto de sessão

Parâmetros:
  • Direção
    • Tipo: string
    • A direção de progresso a ser registrada. Pode ser um dos seguintes:

      • download - relatar o progresso do download
      • upload - relatar o progresso do upload
  • Modo
    • Tipo: string
    • O modo de notificação de progresso a ser usado para o registro. Pode ser um dos seguintes:

      • reportIndefinitely - o registro permanecerá ativo até que a chamada de resposta seja cancelada
      • forCurrentlyOutstandingWork - o registro estará ativo até que somente os bytes atualmente transferíveis sejam sincronizados
  • chamada de resposta
    • Tipo: callback(transferred, transferable)
    • chamado com os seguintes argumentos:

      • transferred - o número atual de bytes já transferidos
      • transferable - o número total de bytes transferíveis (o número de bytes já transferidos mais o número de bytes pendentes de transferência)
estado da conexão()

Obtém o estado atual da conexão com o servidor. Várias sessões podem compartilhar a mesma conexão subjacente. Nesse caso, qualquer alteração de conexão é enviada para todas as sessões.

Pode ser um dos seguintes:

  • Realm.App.Sync.ConnectionState.Disconnected: nenhuma conexão com o servidor está disponível.
  • Realm.App.Sync.ConnectionState.Connecting: uma tentativa de conexão com o servidor está em andamento.
  • Realm.App.Sync.ConnectionState.Connected: A conexão com o servidor está ativa e os dados podem ser sincronizados.

Os dados só serão sincronizados com o Realm ObjectServer se esse método retornar Connected e state() retornar Active ou Dying.

downloadAllServerChanges(tempo limite)

Esse método retorna uma promessa que não é resolvida com êxito até que todas as alterações remotas conhecidas tenham sido baixadas e aplicadas ao Realm ou que o tempo limite especificado seja atingido, caso em que ele será rejeitado. Se o método expirar, o download ainda continuará em segundo plano.

Este método não pode ser chamado antes que o Realm seja aberto.

Parâmetros:
  • timeout
    • quantidade máxima de tempo para esperar em milissegundos antes que a promessa seja rejeitada. Se nenhum tempo limite for especificado, o método aguardará para sempre.

isConnected()

Retorna true se a sessão estiver atualmente ativa e conectada ao servidor, false caso contrário.

pausa()

Pausar uma sessão de sincronização.

Este método é assíncrono, portanto, para saber quando a sessão começou, você precisará adicionar uma notificação de conexão com addConnectionNotification.

Este método é idempotente, portanto, será um no-op se a sessão já estiver pausada.

removeConnectionNotification(chamada de resposta)

Cancele o registro de uma chamada de resposta de notificação de estado que foi registrado anteriormente com addStateNotification. Chamar a função várias vezes com a mesma chamada de resposta é ignorado.

Parâmetros:
  • chamada de resposta
    • Tipo: callback(oldState, newState)
    • um chamada de resposta de estado registrado anteriormente.

removeProgressNotification(chamada de resposta)

Cancele o registro de um retorno de chamada de notificação de progresso que foi registrado anteriormente com addProgressNotification. Chamar a função várias vezes com o mesmo retorno de chamada é ignorado.

Parâmetros:
  • chamada de resposta
    • Tipo: callback(transferred, transferable)
    • um chamada de resposta de progresso registrado anteriormente

retomar()

Retoma uma sessão de sincronização que foi pausada.

Este método é assíncrono, portanto, para saber quando a sessão começou, você precisará adicionar uma notificação de conexão com addConnectionNotification.

Este método é idempotente, portanto, será um no-op se a sessão já tiver sido iniciada.

uploadAllLocalChanges(tempo limite)

Esse método retorna uma promessa que não é resolvida com êxito até que todas as alterações locais conhecidas tenham sido carregadas no servidor ou que o tempo limite especificado seja atingido, caso em que ela será rejeitada. Se o método expirar, o carregamento continuará em segundo plano.

Este método não pode ser chamado antes que o Realm seja aberto.

Parâmetros:
  • timeout
    • quantidade máxima de tempo para esperar em milissegundos antes que a promessa seja rejeitada. Se nenhum tempo limite for especificado, o método aguardará para sempre.