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.