Byte-order compatibility
Hey there! We are shipping waypipe as a package on Void Linux, and it's been working perfectly! Thanks a lot for the work you've done :)
Void has an associated project called Void Linux PPC, which as the name says, ships Linux for POWER and PowerPC computers. I know of at least one person who is using waypipe between x86_64 and ppc64le computers! That said, one note in your warnings mentioned that you didn't guarantee that waypipe would work between computers with different byte orders, which I asked someone who owned ppc32 devices (so big endian) to check for me, and indeed it didn't work (it did work between two BE devices, though).
To fix this, they suggested the following:
- Have byte order be part of the initial handshake
- If they match, don't convert anything
- If there isn't a match:
- Define the protocol's endianness according to some rule, so one end doesn't swap and the other does
- Check byte order issues with pixmaps (I'm not sure if this is relevant for this case)
So, my questions are:
- Are you interested in having such a feature?
- Do you think implementation would be too complicated? I would like to try my hand at it, but I don't know much about the problem space.