Files
pitiupi/docs/documentation/12_menus_unicast_multicast.md
T
Gabriel Felipe Souza SantosandCursor eeb1936f6d Entrega v1 aula: shell com abas, PITIUPI_HOME e plugins de referência.
Consolida núcleo (presença, peer actions, MessageDispatcher), chat e screencast na galeria, documentação PT-BR e testes JUnit; remove mpChat do catálogo em favor do chat unificado.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-27 11:08:21 -03:00

1.9 KiB
Raw Blame History

Menus, peer actions e transportes

Interface atual (shell v1)

Plugins de referência não dependem da barra de menus superior para o fluxo principal:

  • Galeria na aba Plugins abre cada extensão em aba própria (fechável com ×).
  • Peer actions na lista Usuários nesta rede (clique em um peer ou em Todos) agrupam ações de todos os plugins instalados.
  • Dentro da aba do plugin, PluginRoutingPanel padroniza destino (sala geral vs IP), forma de envio (multicast UDP, UDP unicast, TCP) e texto de ajuda.

Ver 04_inicializacao_e_gui.md e 09_sistema_de_plugins.md.

MenuCategory (legado)

Enum em pitiupi.models.Menus.MenuCategory (Jogos, Social, Streaming) ainda aparece no catálogo (menuCategory em plugins.registry.json) e em plugins antigos que chamam GuiManager.createMenu(...).

Novos plugins devem preferir PluginWorkspace + peer actions. O menu da shell expõe apenas Ajuda → Sobre.

Unicast vs multicast na aplicação

Modo API típica Semântica
Multicast MessageDispatcher / SocketUDP.sendMulticast Todos no grupo na porta configurada
Unicast UDP envio para IP de um peer Um destinatário, sem estabelecer TCP
TCP ConnectionManager / SocketTCP Canal com framing 4+N bytes

Detalhes de rede: 05_udp_multicast.md, 06_tcp_conexoes.md.

Referência de código

  • Chat e screencast: peer actions em ChatPlugin e ScreenCastPlugin.
  • Envio unificado: pitiupi.application.messaging.MessageDispatcher e TransportMode.

O antigo plugin mpChat foi unificado no módulo plugins/chat (mensagens LegacyMpChatMessage para compatibilidade TCP privado). Ver 11_plugins_referencia.md e decisão D19 no decision-register.md.