atualizando o arquivo documentation.md

This commit is contained in:
GustavoHMDS 2026-08-11 14:35:51 -03:00
parent 5c69189293
commit 81c37225fa
2 changed files with 12 additions and 11 deletions

View File

@ -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" />

View File

@ -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