A distributor is a gate similar to an emitter (see WinEmitter): every time it is triggered, it throws out the data. In contrast to an emitter, agents which want to listen, must register. Data is distributed to all agents who have registered.
List of Import References :
See BOOL
See Com
See DENOTATION
See Nat
See Option
See Seq
See Void
SIGNATURE Distributor[data]
$Date: 2010-09-30 18:24:17 +0200 (Do, 30. Sep 2010) $ ($Revision: 616 $)
SORT data
IMPORT Void ONLY void Com[void] ONLY com Com[distOut] ONLY com Com[data] ONLY com Com[dist] ONLY com
SORT dist FUN dist: com[dist]
Trigger distributor with value.
FUN emit: dist ** data -> com[void]
SORT distOut
Register with distributor.
FUN register: dist -> com[distOut]
Wait until data is distributed.
FUN await: distOut -> com[data]
next node: MapEntry,
prev node: ComCheckWinData,
up to node: Subsystem Opal Window Additions