@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.
44 lines • 1.77 kB
TypeScript
import { InterfacePort } from '../provided/InterfacePort';
import { PortOutbox } from './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
*/
export declare abstract class BroadcastPortOutbox extends PortOutbox {
/** Lista de portas externas às quais esta caixa de saída está conectada */
protected externalPorts: InterfacePort[];
/**
* 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: InterfacePort): void;
/**
* 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: InterfacePort): void;
/**
* 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(): void;
}
//# sourceMappingURL=BroadcastPortOutbox.d.ts.map