After a lot of work I finally got the marshaller/demarshaller work in a state where its interesting for others to look at and test. It works in my testing on both linux and win32, between both pre-marshaller versions (both ways) and between post-marshaller versions.
Python is now an additional dependency when building from git (not when building from tarballs though). You also need the pyparsing module. With this change all the enums in spice-protocol are autogenerated from the spice.proto protocol description in spice, and all the spice message structures have moved into spice as non-packed normal, private structures as the network protocol is now described by the protocol description rather than the C structures. There are some things that are still not ideal due to all the types in spice/draw.h being used in the qxl PCI ABI, so those could not be internalized and changed. For instance, some of the image type use inline data arrays which are unnecessarily copied in the current setup. This will be fixed when we the qxl ABI is split out from the spice-private structures and those can be changed. Also, with this infrastructure in place we can now begin to use it to make the network protocol better. Some obvious things I plan to do: * Make all 64bit offsets 32bit * Really leave out optional parts of messages (clip, mask, etc) on the network when not used * Drop use of offsets in some places and just put data inline Some other changes we want to make are listed on http://spice-space.org/page/ProtocolChanges Anyway, please take a look at this, test it and look at the protocol description to get a hang of how it works. -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Alexander Larsson Red Hat, Inc [email protected] [email protected] He's a world-famous bohemian cowboy who dotes on his loving old ma. She's a warm-hearted red-headed pearl diver with the power to see death. They fight crime! _______________________________________________ Spice-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/spice-devel
