Frequently Asked Questions

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, which provides the standards used at GMU to grade NW projects. It contains clear guidelines for each project.

Last updated: