The simulator will never send RouterPacket messages itself. It is your code which must ensure that the information are exchanged between routers in the network.
The RouterNode.java file has a variable called costs which is initialized in the constructor. The simulator sets the link costs associated with a node through the costs variable. For example, in the network shown in Figure 1, the link costs for node 1 is set via the vector {1, 0, 1, RouterSimulator.Infinity} , which means that the cost of the link (from Node 1) to node 0 is 1, to itself is 0, to node 2 is 1, and to node 3 is infinity. Changes in link costs are made by calling the updateLinkCost(), which you should implement.
Costs for all links is set in the constructor for the RouterSimulator class. Further down in that code, two events are added which change the link costs at specific times during the simulation period. The link between eventity and dest changes to cost at time evtime. A sample code for adding such a link cost changing event is shown in Figure 5. Note that the link costs will not change if you do not change the value for the constant LINKCHANGES to true in the beginning of the file. Please change link costs and the events to test your code.