First, eventually we can drop compatibility with old clients (see #57) and just assume that the client will always be sending the size header (introduced in r207, stable as of r270).
Second, the bencoder code uses recursion far too much (see #64 - crashes on OpenBSD) and is made hard to understand by the fact that it was tweaked to be able to deal with incomplete packets (which is no longer needed). Either we replace it with something better (surely there are other/better ones?) or at least we remove the cruft.
would be good to get this in 0.2 to reduce cpu consumption (zero copy) on both client and server
also, we should not try to re-compress pixel data when it was already compressed with x264/vpx/jpeg or png. It only makes sense to compress rgb24
experimental patch which sends all strings larger than 1KB as raw packets
new raw_packets feature with per-packet compression option (disabled for raw packets)
"raw_packets" feature merged in r784:
The code is now even more messy than before (despite the addition of docstrings), #122 will eventually clear this up.
compares current 0.3.1 code with raw_packets=False vs True, 0.2.0, 0.1.0 and 0.0.7.36
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/68