
your lib can be of a great value. I have some may be too simple questions :) Which data representation format have you choosen? Is it XDR or smth. else proprietare.
It's proprietary so far. Each message has a header encoded in binary format (portable datatypes like uint16_t with adjusted endianness) and a body containing the serialized data. The current approach seems to be portable and fast. Maybe it makes sense to change the encoding, when a stable version is reached and compatibility to older versions becomes important.
How will your lib bahave in mixed 32bit/64bit environments?
Using the text archive of boost.serialization worked for the chat client under win32 to communicate with a linux64 server, while the non-portable binary archive type didn't work since it's not portable. It is important for me that different architectures can communicate because that's one important reason for having remote calls after all. It will work if the types match (or can be handles properly by boost.serialization). So "uint32_t" or "uint64_t" as function parameter will work while "unsigned int" won't work if not handled by serialization. Using a text archive should translate between those types if the values fit in the range of the smaller type. Little/Big-Endian issuses should be handled also, but remain untested, so far, as big-endian machines seem to get rare.