« March 2007 | April 2007 Archives | May 2007 »

Go on, tell us why?

| 0 Comments
It wont come a surprise to anyone who has read this blog for a while that I disagree with much of what Simon Sebright has written about asserts in the latest issue of the ACCU's Overload magazine... I've stated my case far too many times to go through it all again, but, it would be nice if he'd explained why he doesn't like using references when a pointer argument cannot ever be null, especially as he then takes a stance that says, in his view, a pointer argument SHOULD NEVER be null...…

Taking more of my own advice...

| 0 Comments
I'm continuing to work through my list of things to do for The Server Framework (and all the libraries that support it) and I've recently got to the 'set up Doxygen and do a bit of documentation' item...…

Socket Server code - refactoring

| 2 Comments
After spending some time cleaning up and refactoring away the need to derive from concrete classes in the Win32 and IO libraries that make up The Server Framework, I finally reached the Socket library and applied the same transformations to the interfaces there. This is actually where I hoped to get most value from taking classes that required you to override virtual methods in a derived class and replacing them with explicit virtual callback interfaces that you need to implement. The main gain I was hoping for was that the result would be easier to document, as it is I got that…

Cohesive interfaces

| 0 Comments
Of course, once I'd teased apart the callback interface so that it was separate, clear and easy to use and document I realised that it was, in fact, 3 interfaces all jumbled together. They're actually quite easy to spot, there are all of the callback functions that start with OnXXX (and a couple which don't!), there are the filtering functions and there is CreateListeningSocket() call. All three sets are used by different kinds of user. The OnXXX interface is the real callback interface, the filtering interface has been present since the begining but is only currently used by the OpenSSL…
As I mentioned a while back, the interface that user code had to The Server Framework was somewhat jumbled and, in fact, consisted of three interfaces that were mashed together. I've been teasing these apart and in doing so have finally bitten the bullet and dived in and refactored the filtering interface so that it's easier to use. The Server Framework has had a filtering interface for a long time, since around 2002 when I added SSL support for a client. The idea was that you should be able to layer services on to the raw TCP byte stream in such a way that…
Except of course, the refactored filters can't actually be layered that well using the design that I outlined in the previous blog posting.…
« March 2007 | April 2007 Archives | May 2007 »

About this Archive

This page is an archive of entries from April 2007 listed from newest to oldest.

March 2007 is the previous archive.

May 2007 is the next archive.

I usually write about C++ development on Windows platforms, but I often ramble on about other less technical stuff...

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

I have other blogs...

Subscribe to feed The Server Framework - high performance server development
Subscribe to feed Lock Explorer - deadlock detection and multi-threaded performance tools
Subscribe to feed l'Hexapod - embedded electronics and robotics
Subscribe to feed MegèveSki - skiing