Consolida documentação e plugins de referência ao núcleo atual.

Alinha mpChat e screenCast a ConnectionManager/GuiManager, adiciona docs em docs/ e README de plugins; remove artefatos de build do índice.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Gabriel Felipe Souza SantosandCursor committed 2026-10-13 21:20:20 -03:00
1 parent d92708a6e9
commit f02acaf131
61 files changed
+1408 -758

No files matched your search

@@ -0,0 +1,52 @@
# Fundamentação — redes e código
Mapa entre conceitos de **Redes de Computadores** e o Pitiupi. Aprofundamento: [references/README.md](../references/README.md).
## Camada de aplicação P2P
| Conceito | No Pitiupi |
| --- | --- |
| Aplicação distribuída sem servidor dedicado | Cada peer executa o mesmo núcleo + plugins |
| Identidade do participante | Nome no login + `HeartbeatMessage` (instância) |
| Broadcast lógico | UDP multicast no grupo `224.0.0.3` |
| Comunicação 1:1 | UDP unicast ou TCP com conexão persistente |
## UDP
- Sem conexão; mensagens delimitadas por datagrama.
- Multicast economiza envios para todos os peers do grupo.
- Limitações: perda, ordem, MTU — relevante para plugins com imagens (screenCast).
Doc: [05_udp_multicast.md](05_udp_multicast.md).
## TCP
- Conexão orientada a fluxo; o núcleo adiciona **framing** (tamanho + payload).
- Uma conexão por endereço de peer reutilizada para várias mensagens.
- Fechamento quando peer some do heartbeat.
Doc: [06_tcp_conexoes.md](06_tcp_conexoes.md).
## Presença
Heartbeats periódicos em UDP; timeout ~15 s. Analogia com “keepalive” de presença, não com camada de transporte confiável.
Doc: [08_heartbeat_e_presenca.md](08_heartbeat_e_presenca.md).
## Serialização
Objetos Java `Serializable` em `byte[]` — acoplamento de versão de classes entre peers (mesmo plugin instalado).
Doc: [07_mensagens_e_serializacao.md](07_mensagens_e_serializacao.md).
## Extensibilidade
SPI e classloader por JAR — padrão de plug-in em aplicações Java.
Doc: [09_sistema_de_plugins.md](09_sistema_de_plugins.md).
## Leitura complementar
- [references/notas/udp_vs_tcp.md](../references/notas/udp_vs_tcp.md)
- [references/notas/multicast_lan.md](../references/notas/multicast_lan.md)
- [references/notas/java_spi_plugins.md](../references/notas/java_spi_plugins.md)