Class: ControlChannel

@nginstack/web-framework/lib/ifp/ControlChannel~ ControlChannel


new ControlChannel(sid)

Abre o canal de controle para a sessão informada. O canal de controle tem o objetivo de realizar uma comunicação com o navegador Web enquanto o canal principal de comunicação está em uso.
Poderão ser abertas várias instâncias de ControlChannel para a mesma sessão, no entanto todas elas compartilham o mesmo canal de dados. Sendo assim, elas não podem ser utilizadas para o envio de mensagens paralelas e a última mensagem enviada irá sobrepor as das demais instâncias.

Parameters:
Name Type Description
sid string

Id da sessão cujo canal de controle será aberto.

Members


sid :string

Id da sessão que está utilizando este canal de controle.

Type:
  • string

Methods


<static> formatErrorPayload(error, info)

Formata o conteúdo das mensagens "error:" no protocolo do canal de controle.

Parameters:
Name Type Description
error Error | DetailedError

Objeto de erro a ser enviado.

info Object

Informações adicionais do erro.

Properties
Name Type Argument Description
stackTrace string | Array.<string> <optional>

Pilha do erro a ser exibida para o usuário.

ticket string <optional>

Identificação do erro nos logs.

dialogTitle string <optional>

Título do diálogo de erro.


<static> getInstance()

Obtém a instância global do gerenciador do canal de controle compartilhada por todos os processos.

Returns:
Type
ControlChannel

getDataChannelSequence()

Número da sequência da requisição em atendimento no canal de dados.

Returns:
Type
number

getScreenLockedAt()

Obtém o timestamp de quando a tela do sistema foi bloqueada. Retorná 0 se a tela não estiver bloqueada.

Returns:

Timestamp de quando a tela foi bloqueada ou zero caso ela não esteja bloqueada.

Type
number

getScreenLockRequestedAt()

Obtém o timestamp de quando o bloqueio da tela do sistema foi solicitado. Retorná 0 se um bloqueio de tela não tiver sido solicitado.

Returns:

Timestamp de quando o bloqueio da tela foi solicitado pelo servidor.

Type
number

getScreenUnlockedAt()

Obtém o timestamp de quando a tela do sistema foi desbloqueada pela última vez. Retorná 0 se a tela nunca tiver sido desbloqueada.

Returns:

Timestamp de quando a tela foi desbloqueada pela última vez.

Type
number

getSyncStatus()

Obtém o estado do sincronismo da última mensagem do canal de controle.

Returns:
Type
number

isScreenLocked()

Verifica se a tela do sistema está bloqueada.

Returns:

True se a tela estiver bloqueada.

Type
boolean

isScreenLockPending()

Verifica se o cliente está pendente de bloquear a tela do usuário.

Returns:

True se a tela tiver que ser bloqueada pelo cliente.

Type
boolean

lockScreen()

Bloqueia a tela do usuário, impedindo o uso do sistema até que o usuário se autentique novamente. Este método exibirá apenas um alerta caso o usuário corrente não puder ter as suas credenciais coletadas pelo sistema.


lockSessionByNavigator()

Indica que a sessão deve ser bloqueada.

Returns:

Comando a ser enviado para o navegador web para concluir o bloqueio visual.

Type
string

requestScreenLock()

Solicita ao cliente o bloqueio da tela do usuário na primeira interação com o servidor.

Este método deve ser utilizado em situações onde o canal de controle não está ativo e não pode ser executar comandos, como durante a requisição de keep alive ou quando o cliente está esperando a carga de uma nova página.


setDataChannelSequence(seq)

Informa o número da sequência da requisição em atendimento no canal de dados. Ao informar uma nova sequência, todas as mensagens pendentes serão canceladas.

Parameters:
Name Type Description
seq number

setSyncStatus(syncStatus [, message])

Atualiza o estado do sincronismo da última mensagem do canal de controle. Opcionalmente também pode ser informada uma nova mensagem associada a este estado.

Parameters:
Name Type Argument Description
syncStatus number

Novo estado do sincronismo da última mensagem.

message string <optional>

Nova mensagem associada a este estado.


touch()

Indica que este canal de controle foi utilizado. Utilizado para indicar se um canal de controle está inativo.


unlockSessionByNavigator(userName, password [, newPassword])

Indica que a sessão deve ser desbloqueada.

Parameters:
Name Type Argument Description
userName string

Nome do usuário.

password string

Senha atual do usuário.

newPassword string <optional>

Nova senha do usuário. Parâmetro opcional, utilizado apenas quando o bloqueio da sessão exige que o usuário troque a senha para continuar.

Returns:

Comando a ser enviado para o navegador web para concluir o desbloqueio visual.

Type
string

waitForOtherState(unexpectedState, timeout)

Aguarda o canal de controle assumir um estado de sincronismo diferente do informado.

Parameters:
Name Type Description
unexpectedState number

Estado de sincronismo não desejado.

timeout number

Tempo máximo de espera em milissegundos.

Returns:

True se foi para um estado diferente do informado.

Type
boolean

waitForState(expectedState, timeout)

Aguarda que o canal de controle chegue ao estado de sincronismo informado.

Parameters:
Name Type Description
expectedState number

Estado de sincronismo desejado.

timeout number

Tempo máximo espera em milissegundos.

Returns:

True se chegou no estado esperado.

Type
boolean