is the counter part to
and is the base class for
. An arriving
message at the input port (
) is passed on to one of the output ports
) which is determined by calling the method
Whereas the class
does not provide an implementation of the method
, the classes
the initial number of output ports is given on construction.
Outputs are named: "output 1" ... "output N". Further ports may be added via
and removed via
- The decision which message will reach which port is made with the method
, that must be defined in the derived classes. In order for this decision
to be consistent throughout the lifetime of the demultiplexer,
are not allowed to use
implements the method
by returning the
port with the index label of a
(contained in the data member label of
) minus the start label (contained in startLabel). The start label can
be given as parameter on construction and defaults to 0.
is a ready-to use static demultiplexer for packets belonging to the
and destinguishes between the modes "destination-based", "group-based"
and "type-based". The functionallity is the same as described in
except that not the label is taken into consideration but destination, group or type, depending
on the mode that is set. Therefore, additional to the parameters described for
a parameter indicating the mode has to be provided upon construction.
can also be used to define a demultiplexer. The output ports of
this demultiplexer are not allowed to be blocked.