Gulliver's Nightmare

Okay, I've pretty well settled on the socket interface for IPC between the modules and the server. This will simply make the network distributed modules easier to build. I've decided to handle the endian issues by letting the server handle the data in any way that the server will handle it, then make the modules conform to that storage type.

During the registration process the server sends some different integers and floating point numbers to the module.  The module then determines whether or not its own storage format is different from the server and then determines what method it will have to employ to properly convert the data.

The largest benefit of this method is that most of the time every part of the system will be installed on the same kind of hardware, so conversions of any type would be unnecessary.  It will also make it easy to "compile out" the conversion functions if it's known in advance that they won't be needed.  If we specify a format for the data then it would be very wasteful for every module and the server to work at converting the data when they are all on the same kind of system, which is different than the specification.

Right now the conversion functions do nothing but return the input data.  This is because all of my stuff is on Intel hardware and so I don't really have a way to test it anyway.  I'm looking at some different ways to get my hands on some different systems for testing.