docs: reescreve o manual e registra o JAR instalado no catálogo

O texto explica o núcleo, a rede e o tutorial do ping como o código está hoje. Instalar ou remover um JAR atualiza plugins.registry.json para o próximo run não perder o plugin.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Gabriel Felipe Souza SantosandCursor committed 2026-11-04 14:14:18 -03:00
1 parent 61753c421a
commit 8338936251
47 files changed
+1423 -1712

No files matched your search

+5 -19
View File
@@ -1,22 +1,8 @@
# Referências — Pitiupi
# Referências bibliográficas
Bibliografia e notas curtas para apoiar o estudo de Redes de Computadores. **Fonte única** para citações longas — capítulos em `documentation/` linkam aqui em vez de repetir bibliografia.
O texto de estudo está em [referencias.md](../referencias.md). Este diretório guarda o BibTeX e PDFs locais.
**Sugestões de livro-texto:** Kurose & Ross — *Redes de Computadores e a Internet*; Tanenbaum — *Redes de Computadores*; Peterson & Davie — *Redes de Computadores*.
**RFCs úteis:** UDP (768), TCP (793), IP multicast (1112, 3376). Documentação Java: [Serialization](https://docs.oracle.com/en/java/javase/17/docs/specs/serialization/index.html), [SPI](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ServiceLoader.html), sockets e Swing EDT.
| Recurso | Descrição |
| Arquivo | Conteúdo |
| --- | --- |
| [bibliografia.bib](bibliografia.bib) | Entradas BibTeX (livro-texto, RFCs, documentação Java) |
| [notas/](notas/) | Resumos em PT-BR ligados ao código |
| [pdfs/](pdfs/) | PDFs locais (não versionados se grandes; ver `.gitkeep`) |
## Notas disponíveis
- [udp_vs_tcp.md](notas/udp_vs_tcp.md)
- [multicast_lan.md](notas/multicast_lan.md)
- [java_serializacao.md](notas/java_serializacao.md)
- [java_spi_plugins.md](notas/java_spi_plugins.md)
Voltar ao índice: [docs/README.md](../README.md).
| [bibliografia.bib](bibliografia.bib) | Livros, RFCs e documentação Java |
| [pdfs/](pdfs/) | PDFs locais, quando houver |
@@ -1,11 +0,0 @@
# Serialização Java (nota)
O Pitiupi serializa objetos `Message` (Java `Serializable`) para `byte[]` antes do envio.
Implicações:
- Mesma versão de classe nos peers (mesmo JAR de plugin).
- `serialVersionUID` explícito evita incompatibilidade silenciosa.
- Desserialização no núcleo usa `PluginObjectInputStream` com classloader do plugin.
Doc: [07_mensagens_e_serializacao.md](../../documentation/07_mensagens_e_serializacao.md).
@@ -1,9 +0,0 @@
# Java SPI — plugins (nota)
O núcleo usa `ServiceLoader` para localizar implementações de `pitiupi.models.Plugin` declaradas em:
`META-INF/services/pitiupi.models.Plugin`
Uma linha por classe concreta (FQCN). O JAR deve estar em `pitiupi/plugins/`.
Doc: [09_sistema_de_plugins.md](../../documentation/09_sistema_de_plugins.md).
-12
View File
@@ -1,12 +0,0 @@
# Multicast em LAN (nota)
IP multicast envia um datagrama que roteadores/switches encaminham aos assinantes do grupo (ex.: `224.0.0.3`).
Na sala de aula:
- Todos os peers devem estar na mesma sub-rede e permitir IGMP/multicast.
- Wi‑Fi com “client isolation” impede descoberta.
Operação no código: [appendix_portas_e_multicast.md](../../documentation/appendix_portas_e_multicast.md).
RFC introdutória: ver entrada `rfc1112` em [bibliografia.bib](../bibliografia.bib).
-10
View File
@@ -1,10 +0,0 @@
# UDP vs TCP (nota)
| | UDP | TCP |
| --- | --- | --- |
| Conexão | Não | Sim |
| Confiabilidade | Melhor esforço | Entrega ordenada na conexão |
| Delimitação de mensagem | Por datagrama | Fluxo de bytes — Pitiupi usa framing 4+N |
| Uso no Pitiupi | Heartbeat, multicast, plugins | Canais diretos peer-a-peer |
Ver [05_udp_multicast.md](../../documentation/05_udp_multicast.md) e [06_tcp_conexoes.md](../../documentation/06_tcp_conexoes.md).