Signal get_signal(ckt_time time): This is a
pure virtual function which is responsible for retrieving the signal which
occurred at the time specified by the parameter.
The Wire and Port classes actually define
the behaviour of this member function. Consequently, the description
of its implementation will be presented in later sections.
void send_signal(Signal sig): Like
get_signal() above, this too is a pure virtual function.
Its major purpose is to propagate an output signal from a component to
the components in its fan-out list. The details of this function will
be discussed in further detail in the sections pertaining to the
Wire and Port classes.
show_signals(): Again, this is a pure virtual
function. Upon invocation, this function will display all the signals
that have passed through the connector during the course of the
simulation. It is defined by the Wire and Port
classes.
void connect(Component &cmp): This method adds
the specified component to the list of components in the fan-out list of
the connector. It makes use of the add member function
of the generic List class.
const char *get_name(): Each connector has a name
which serves to identify that connector. This function simply returns a
pointer to that name. It is used primarily by the
Runtime_Component class when constructing a circuit from
its protocol description.
void propagate(): This method is invoked during
simulation. Its purpose is to iterate over the components in the
fan-out list and to send each of them a simulate() message,
thereby forcing the components to consume their inputs (when possible)
and to produce outputs. These outputs are subsequently propagated in
the same manner.