atualizando o arquivo documentation.md
This commit is contained in:
parent
5c69189293
commit
81c37225fa
|
|
@ -4,12 +4,7 @@
|
||||||
<option name="autoReloadType" value="SELECTIVE" />
|
<option name="autoReloadType" value="SELECTIVE" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="62118a1b-608f-4144-b29c-cf46419ca676" name="Changes" comment="">
|
<list default="true" id="62118a1b-608f-4144-b29c-cf46419ca676" name="Changes" comment="" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/pitiupi/src/pitiupi/GUI/MenuBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/pitiupi/src/pitiupi/GUI/MenuBar.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/pitiupi/src/pitiupi/control/HeartbeatManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/pitiupi/src/pitiupi/control/HeartbeatManager.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/pitiupi/src/pitiupi/net/Socket.java" beforeDir="false" afterPath="$PROJECT_DIR$/pitiupi/src/pitiupi/net/Socket.java" afterDir="false" />
|
|
||||||
</list>
|
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ O método `send()` recebe uma mensagem já serializada em bytes e cria um
|
||||||
|
|
||||||
De forma geral, o socket atua apenas como mecanismo de transporte das mensagens.
|
De forma geral, o socket atua apenas como mecanismo de transporte das mensagens.
|
||||||
A única exceção é o tratamento de HeartbeatMessage, utilizado pela infraestrutura
|
A única exceção é o tratamento de HeartbeatMessage, utilizado pela infraestrutura
|
||||||
da aplicação para manter a lista de usuários ativos.
|
da aplicação para manter a lista de peers ativos.
|
||||||
|
|
||||||
#### Recepção de mensagens
|
#### Recepção de mensagens
|
||||||
|
|
||||||
|
|
@ -98,9 +98,15 @@ comportamentos necessários para cada funcionalidade.
|
||||||
O mecanismo de heartbeat é utilizado para identificar quais usuários estão
|
O mecanismo de heartbeat é utilizado para identificar quais usuários estão
|
||||||
ativos na rede.
|
ativos na rede.
|
||||||
|
|
||||||
A aplicação envia periodicamente uma `HeartbeatMessage` contendo informações
|
A aplicação envia periodicamente uma `HeartbeatMessage` contendo
|
||||||
do usuário e um timestamp. Quando outra instância recebe essa mensagem, o
|
informações do usuário, um identificador único da instância da aplicação
|
||||||
`HeartbeatManager` atualiza o registro do usuário correspondente.
|
e um timestamp. Quando outra instância recebe essa mensagem, o `HeartbeatManager`
|
||||||
|
registra ou atualiza o peer correspondente, utilizando o identificador
|
||||||
|
da instância para diferenciá-lo das demais.
|
||||||
|
|
||||||
|
Um peer é considerado inativo quando permanece mais de 15 segundos
|
||||||
|
sem receber um novo heartbeat. O `HeartbeatManager` então remove o peer
|
||||||
|
da lista e notifica os listeners sobre a alteração.
|
||||||
|
|
||||||
O fluxo de heartbeat é independente das mensagens dos plugins:
|
O fluxo de heartbeat é independente das mensagens dos plugins:
|
||||||
|
|
||||||
|
|
@ -109,7 +115,7 @@ O fluxo de heartbeat é independente das mensagens dos plugins:
|
||||||
3. O `Socket` transmite a mensagem pela rede multicast.
|
3. O `Socket` transmite a mensagem pela rede multicast.
|
||||||
4. O `Socket` identifica mensagens de heartbeat recebidas e encaminha ao
|
4. O `Socket` identifica mensagens de heartbeat recebidas e encaminha ao
|
||||||
`HeartbeatManager`.
|
`HeartbeatManager`.
|
||||||
5. O `HeartbeatManager` atualiza a lista de usuários ativos e notifica os
|
5. O `HeartbeatManager` atualiza a lista de peers ativos e notifica os
|
||||||
listeners.
|
listeners.
|
||||||
|
|
||||||
## Sistema de plugins
|
## Sistema de plugins
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue