I am not sure I would have started this if I had known it would amount to all this. If you had told me that I would be busy for a month, I would have been skeptical. Was it worth it? Well yes; I feel pretty good now that I see it all working. I have learned a lot, and have a lot more confidence in Kyu having given it a serious workout supporting big TCP transfers (and having fixed some bugs).
Would it have been better to have just started from scratch? When you decide to "port" existing software, the hope is always that you will be saving time and energy. I would have learned a lot either way, and I think the time and energy would have been equal. Would I have been better off to finish what I had already begun porting Xinu TCP? No doubt. I think that Xinu TCP within Kyu is probably 95 percent there right now. On the other hand, I could turn around and knock that off and leverage all I have learned with BSD. The Xinu code base is only 5000 lines or so, rather than 1500 lines.
A big factor in my decision was having "the book" on my shelf, and having had it for over 20 years, and always telling myself that "someday" I was going to tackle the BSD network code. Now I can say that I did.
Beyond that, it works and seems to work well.
If you are just starting to read all this, realize that these notes are a play by play over almost 3 months. They are sort of a "diary" of the work I did. I have left them unedited, raw and uncut so you can ride the river with me if you care to do so.
Be sure to look at my notes at the end of this collection. There I try to summarize what Kyu networking is like and what its capabilities as well as limitations and assumptions are.
Kyu / [email protected]