next up previous
Next: Evaluation of the Web Up: Design for a Web Previous: Recommended improvements

Summary

You should plan to throw the first copy of your code away.
Frederick P. Brooks Jr., The Mythical Man-Month

This is the biggest project I have worked on yet. Unfortunately it didn't go quite as originally planned since I was forced to heed Brook's advice and throw the first copy of my code away. It was simply inadequate for the task at hand and required drastic re-design. On the bright side however, it gave me an insight into how a good proxy could be designed and familiarized me with the problems inherent in coding using non-blocking system calls.

My version is in large part coded by Jeremy and Seth, all I did was incorporate the changes needed for my design. Their implementation is very extensible and modular in design allowing me to minimize the time needed for those changes.

The resulting web proxy has, in my opinion, substantial performance benefits over the forking version, and its design is such that future extensions should not be too hard to add to the implementation.



Magnus Bjornsson
1998-05-08