Files
pitiupi/docs/documentation/14_arquitetura_e_manutencao.md
T
Gabriel Felipe Souza SantosandCursor f02acaf131 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>
2026-10-13 21:20:20 -03:00

1.7 KiB

Arquitetura e manutenção

Onde editar

Comportamento Pacote / classe
Login, porta, nome pitiupi.GUI.Login
Orquestração GUI + plugins pitiupi.GUI.MainWindow
Barra de menus base pitiupi.GUI.MenuBar
Usuários online pitiupi.GUI.OnlineUsersPanel, HeartbeatManager
Facade rede para plugins pitiupi.control.ConnectionManager
Registro de menus pitiupi.control.GuiManager
UDP pitiupi.net.udp.SocketUDP
TCP servidor e mapa de conexões pitiupi.net.tcp.SocketTCP, TcpConnectionManager
Conexão TCP por peer pitiupi.net.tcp.TcpConnection
Handshake / fábrica TCP pitiupi.net.tcp.ConnectionFactory, HandshakeMessage
Heartbeat pitiupi.control.HeartbeatManager, HeartbeatMessage
Carregar JARs, despacho pitiupi.control.plugins.PluginManager
Contrato plugin pitiupi.models.Plugin, pitiupi.models.Messages.Message
Menus por categoria pitiupi.models.Menus.*

Dependências entre módulos

pitiupi (núcleo)
   ↑ classpath
pitiupi.chat | pitiupi.screenCast | pitiupi.mpChat

Plugins não devem ser dependência do núcleo.

Alterações arriscadas

  • Mudar grupo multicast ou formato de heartbeat → quebra interoperabilidade na sala.
  • Mudar framing TCP → todos os plugins que usam TCP precisam acompanhar.
  • Alterar nome do arquivo SPI (pitiupi.models.Plugin) → todos os JARs de plugin.

Registrar decisão em decision-register.md.

Documentação viva

Ao mudar protocolo ou API pública do núcleo, atualizar o número correspondente em documentation/README.md e, se aplicável, 11_plugins_referencia.md.