Enigma Update

Some time ago I posted about my intentions of creating a transmission and session library for enigma. Well I have completed the transmission library albeit untested and have started work on the session library. First of all this is more work than I bargained for initially. Although I new this was a huge step I hadn't touched some most of this code in so long I forgot how long some of the processes were. It also makes me realize how much work I actually put into this thing so far. Although the meager feature list doesn't look like much it is actually pretty rough making all of that happen.

While I was overhauling things I realized that I hadn't considered the database in my new design plans. That is a pretty big oversight however I don't think it will force me to alter my plans very much. My intention is to make a database abstraction layer like I should have from the start and then have an instance of it owned by the session manager instance. Of course given that design change other portions of the system could also make database calls by getting their own instance of the database abstraction layer which should all for multi-threaded database access where needed. However the database is basically just a backing store so persisting data to the database and fetching it from the database makes sense for the session library to call the database layer to do that. The only part of that I haven't worked out is how the two will interface because if I use the session variable types I will have a circular build dependency ... stupid c++. What I may end up doing is simply creating functions that take in the individual variables which would completely decouple the two and I could pass them by reference for the population functions.

I have also realized how poor my in code documentation is right now. I have comments like "processes a client message related to chat" on some of the server session management logic. Although correct such comments are not very helpful and if I get more team members that isn't going to cut it. I suppose I'll have to bite the bullet and go through all of that functionality and add meaningful comments.

One final though I added the start of an SRS document to subversion to cover the requirements of the project. I would like to obtain more team members in the near future and getting all of my ducks in a row in terms of documentation is necessary to do that effectively. I've seen what happens when new people start working on undocumented projects ... it's not pretty folks.

Alright that is enough for tonight thanks for reading.


Popular posts from this blog

VK9 - Milestone13 Completed

VK9 - Milestone16 Completed

VK9 - Milestone23 Completed