Build 111

I finished the refactoring of WRouter. The reason for the refactoring was my observation that each time I wrote a new object in the system, the unit tests were getting harder and more complex to set up -- each new object required instantiation of at least one of all the previous objects in the system. This was a clue that I wasn't encapsulating things very well.

The main change was taking the knowledge of WSecureConnection out of WRouter. This wasn't too hard -- after all, the caller really just passed in a blob to WRouter representing one WSecureConnection, and from time to time WRouter would call back again with that blob, asking the caller to do something with it.

Now the unit test for WRouter is really lean; it doesn't need to know anything about WSecureConnection, WRSA, networking, or even buffer objects. Finally the system is small enough again to fit in my little brain. Next I'll add the application-level commands to manage the routing table. Then WINW will really be a VPN. Yay!

Categories

About this Entry

This page contains a single entry by Mike Tsao published on January 17, 2004 2:47 PM.

Asynchronous Wininet was the previous entry in this blog.

Emily has a tooth! is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.2-en