Fixed compiling on IRIX.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6835 08b38cba-cd3b-11de-854e-f91c5b6e4272
Removed const's that were probably the result of copying and pasting.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6836 08b38cba-cd3b-11de-854e-f91c5b6e4272
Fixed yet another IRIX compile problem.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6837 08b38cba-cd3b-11de-854e-f91c5b6e4272
New feature:	Implemented simulated time.

The simulation controller can now manage the time of the simulation.  The
controller itself (vpr::sim::Controller) is a special thread-specific
singleton so that we may run multiple simulations in multiple threads.
The Socket Manager is no longer a singleton, and instead, an instance of
vpr::sim::SocketManager is accessed through the Controller singleton.

This change is what I was working towards all weekend.  Unfortunately, this
code (specifically, the Boost Graph Library part) does not seem to compile
on IRIX, so I am in a tough spot.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6838 08b38cba-cd3b-11de-854e-f91c5b6e4272
Added an overloaded setCurrentTime() that takes a vpr::Interval.  This will
be more convenient for the simulation controller since it operates in
vpr::Interval objects.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6839 08b38cba-cd3b-11de-854e-f91c5b6e4272
Of course, it helps when the code actually compiles...


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6840 08b38cba-cd3b-11de-854e-f91c5b6e4272
Added some debugging output in addMessage() to help me in tracing through
the steps taken by the simulator.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6841 08b38cba-cd3b-11de-854e-f91c5b6e4272
When a message is sent, it helps to start it on its way by putting it in
the appropriate line's transmission queue.  :)  I also added a lot more
debugging output, most of it at very high notification levels.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6842 08b38cba-cd3b-11de-854e-f91c5b6e4272
Update the simulation clock when an event is processed.  This is the key to
advancing the clock.  With this change, I can get messages quite a ways
along their path, but I get some pretty interesting assertion failures for
various reasons (delivery to wrong destination, no route to host, etc.).


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6843 08b38cba-cd3b-11de-854e-f91c5b6e4272
Fixed (I hope) problems with printint these addresses as strings.  I don't
know why this has caused me so much trouble.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6844 08b38cba-cd3b-11de-854e-f91c5b6e4272
Bug fixed:	Messages always missed their destination by one hop.

When constructing the path between two nodes, it helps to have the
destination node in the path.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6845 08b38cba-cd3b-11de-854e-f91c5b6e4272
Added some debugging output.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6846 08b38cba-cd3b-11de-854e-f91c5b6e4272
Cleaned up code and output a little.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6847 08b38cba-cd3b-11de-854e-f91c5b6e4272
Bug fixed:	Some messages tried to go past their last hop.

When checking to see if a message has reached its destination, we do not
want to increment the next hop pointer.

As of this change, I can run the simulator test suite successfully!  The
only remaining problem is unreachable nodes.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6848 08b38cba-cd3b-11de-854e-f91c5b6e4272
Removed a vprDEBUG_CONT() call that was causing the source node to be
printed twice.  (This was definitely confusing me during debugging last
night.)


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6849 08b38cba-cd3b-11de-854e-f91c5b6e4272
Added missing std::'s so that the Tweek C++ API will compile on IRIX.  I
guess it is GCC that is more forgiving about that stuff.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6850 08b38cba-cd3b-11de-854e-f91c5b6e4272
Now that I am more confident that my path-finding code is working
properly, I've moved the output of the path into the loop that
creates vlist so that it is printed in the order of src --> dest
rather than dest <-- src.  I have also added a debugging statement
at the start of the method that outputs what path is being looked up.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6851 08b38cba-cd3b-11de-854e-f91c5b6e4272
Do not allow time to go backwards.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6852 08b38cba-cd3b-11de-854e-f91c5b6e4272
New feature:	Fixed-time event stepping can occur.

Added an overloaded processNextEvent() that takes a vpr::Uint32 argument
telling the simulation controller how far (temporally) to step.  This
version may not process an event if one does not occur within the
designated time frame.  This new method replaces the old, commented-out
step() method.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6853 08b38cba-cd3b-11de-854e-f91c5b6e4272
Added some docuemntation for how the thread-specific singleton concept
works in this class.


git-svn-id: https://vrjuggler.googlecode.com/svn/trunk/juggler@6854 08b38cba-cd3b-11de-854e-f91c5b6e4272