x64 Socket Server framework

| 2 Comments

My new development box arrived last week. It's a bit of a monster, dual processor (Intel Xeon E5320 quad core, 1.86 GHz), 8GB ram, and it runs 64bit Vista very nicely indeed. Since it's an x64 box I have started work on porting The Server Framework to x64. So far things are going very smoothly. The main issue is that I have, in the past, tended to overuse size_t when I really mean "a reasonable sized unsigned value". Since size_t doesn't really fit the bill for that on x64 most of the changes I've had to make are to reduce size_t counts and lengths to DWORDs. In all honesty, in a lot of cases, they should always have been DWORDs...

I have the framework compiling cleanly and the first of the example servers running nicely, but there's a long way to go until I can ship this version to clients. I have to make sure that all the other libraries of code that depend on the socket tools library and the libraries that it depends on are also clean on x64 and then all the tests have to build and run and pass on all compilers and platforms... As I said when I finished the last major changes to the framework, it's about time I automated all my build and test scenarios...

2 Comments

Sounds like they should have been unsigned ints to me. DWORD -- ew, Windowsism. :)

Well, yes, except I seem to remember that this is how the whole problem started... They should, really, be my own typedef of an unsigned int or long but I decided not to do that and since the libraries concerned are windows only anyway and since the reason that a size_t isnt appropriate now and was then is that it used to be the same size as a DWORD I figure it's best to match the data type that I'll eventually need when I make the OS call...

I don't really like all those typedefs that are 'my particular libraries idea of a 16 bit unsigned value' etc...

Leave a comment