Title
The project files are broken into four packages. Each resides in
a directory of the same name. You will need to add the base
project directory to your CLASSPATH so that the packages
will be able to find each other to compile.
The public interfaces to each package are described
timer package
The timer is a precise simulated real-time clock with interfaces for
timeouts (using callbacks), waiting for time intervals, and generic
thread synchronization. All other packages are built on the timer,
and you will need to use its mechanisms in order to manage timing
events. The timer synchronization primitives should be used
exclusively, in order to avoid deadlocking the clock.
Interfaces defined
Provided classes
Classes to be implemented
package package
Description
Interfaces defined
Provided classes
Classes to be implemented
timer implements a simulated clock and timeout mechanism,
including synchronization primitives for blocking in simulated time.
link defines a Link interface which describes
generic local area networks (LANs) and point-to-point links. This
package also includes a series of Link implementations,
modeling abstract point-to-point and broadcast networks, as well as
specific networks including Ethernet.
network defines a Network interface which describes
a generic network, and a Node interface which describes a
node in a switched network of Links.