The base class
Multiplexer
and its derived classes
StdMultiplexer
, and
PriorityMultiplexer
represent components with multiple input ports
(
InputPort
) and one output port (
OutputPort
). Except from
PriorityMultiplexer
,
all inputs are scanned in a round-robin scheduling algorithm. In
StdMultiplexer
the initial number of input ports is given on construction. Inputs are named: "input 1"
... "input N". Further ports may be added via
Entity.addPort(Port)
.
- Arriving
messageIndication()
signals are directly delivered to the output port.
- If the recipient calls
isMessageAvailable()
, the request will be passed on to the
input port, which cyclically follows the input port from which the last message was
retrieved ("fairness").
-
StdMultiplexer
provides the methods
addPort()
and
removePort()
to create
and delete an input port named "input 1", "input 2", ... .
-
PriorityMultiplexer
is derived from
StdMultiplexer
and overwrites the
method
isMessageAvailable()
in that way that it will always start its port scan with
the first input port. Although this prioritization of the input ports is only valid in "active
receiver" mode.