Q: I tried to replace some of the core stack modules in NW
with modules of my own, but I had linker errors. What am I
doing wrong?
A: The core stack is all compiled together in module nwcore.cpp.
in order to replace modules in the main stack, put the
following statement at the beginning of your main module
(such as nwmain.cpp):
#include "nwcore.cpp"
This will cause the stack to be recompiled. If you want to
substitute you own module for a stack module, just have
your module in your working directory so it can be used in place
of the NW version in the code directory.
Q: I am not getting the same results in project TRN1 as the NW solution.
What should I do to get the same results?
A: The proper way to handle the data structures involved with make_segment()
and send_seg() in TRN1 was somewhat obscure. The intention with NW was
for the student to solve a puzzle involving a protocol in each project.
The intention was NOT to solve a puzzle involving re-use of code (at
least not to any greater degree than absolutely necessary). Therefore
TRN1 has been modified in the latest version of NW. Please see NW4.1
or later. If you choose to work with NW4.0, a good rule of thumb is
that if all of the messages are delivered in not more than 25% more
ticks than the NW solution, you have a reasonable solution to TRN1.
Q: There is a lot of output in diskout.txt for each project. How can I know
where to look when comparing my output to that of the NW solution?
A: Check out the URL http://netlab.gmu.edu/networkbench/Project-grading.txt,
which provides the standards used at GMU to grade NW projects. It contains
clear guidelines for each project.