UNPKG

@lybioit/component-interface-pattern

Version:

Padrão de Interface de Componente - Abstrações para desenvolvimento de componentes reutilizáveis. Projeto da disciplina BRADEPO do IFSP-BRA.

56 lines 2.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BroadcastPortOutbox = void 0; const PortOutbox_1 = require("./PortOutbox"); /** * BroadcastPortOutbox (Caixa de Saída de Transmissão de Porto) * * Especialização abstrata de PortOutbox voltada ao envio de invocação de * operações requeridas a múltiplos componentes simultaneamente. * * Esta implementação permite comunicação broadcast, onde uma única caixa * de saída pode se conectar a múltiplos portos externos e enviar mensagens * para todos eles simultaneamente. * * @abstract Esta classe deve ser estendida para implementar comportamentos específicos */ class BroadcastPortOutbox extends PortOutbox_1.PortOutbox { constructor() { super(...arguments); /** Lista de portas externas às quais esta caixa de saída está conectada */ this.externalPorts = []; } /** * Conecta esta caixa de saída a um porto externo. * * Adiciona um novo porto à lista de conexões, permitindo que esta * caixa de saída envie mensagens para múltiplos destinos. * * @param externalPort - O porto externo ao qual se conectar */ connect(externalPort) { // Implementação para conectar ao porto de transmissão } /** * Desconecta esta caixa de saída de um porto externo específico. * * Remove um porto específico da lista de conexões, mantendo * as outras conexões ativas. * * @param externalPort - O porto externo do qual se desconectar */ disconnectFrom(externalPort) { // Implementação para desconectar porto externo específico } /** * Desconecta esta caixa de saída de todos os portos externos. * * Remove todas as conexões externas, efetivamente isolando * esta caixa de saída de qualquer comunicação externa. */ disconnect() { // Implementação para desconectar todos os portos } } exports.BroadcastPortOutbox = BroadcastPortOutbox; //# sourceMappingURL=BroadcastPortOutbox.js.map