On Mon, Aug 24, 2009 at 09:51:06PM +0100, Daniel P. Berrange wrote: > Defines the extensions to the remote protocol for generic > data streams. Adds a bunch of helper code to the libvirtd > daemon for working with data streams. > > * qemud/Makefile.am: Add stream.c/stream.h to build > * qemud/stream.c, qemud/stream.h: Generic helper functions for > creating new streams, associating streams with clients, finding > existing streams for a client and removing/deleting streams. > * qemud/remote_protocol.x: Add a new 'REMOTE_STREAM' constant > for the 'enum remote_message_type' for encoding stream data > in wire messages. Add a new 'REMOTE_CONTINUE' constant to > 'enum remote_message_status' to indicate further data stream > messsages are expected to follow. Document how the > remote_message_header is used to encode data streams > * qemud/remote_protocol.h: Regenerate > * qemud/dispatch.c: Remove assumption that a error message > sent to client is always type=REMOTE_REPLY. It may now > also be type=REMOTE_STREAM. Add convenient method for > sending outgoing stream data packets. Log and ignore > non-filtered incoming stream packets. Add a method for > serializing a stream error message > * qemud/dispatch.h: Add API for serializing stream errors > and sending stream data packets > * qemud/qemud.h: Add struct qemud_client_stream for tracking > active data streams for clients. Tweak filter function > operation so that it accepts a client object too. > * qemud/qemud.c: Refactor code for free'ing message objects > which have been fully transmitted into separate method. > Release all active streams when client shuts down. Change > filter function to be responsible for queueing the message ACK, but this is hard to review, only testing can really bring confidence for this kind of code :-) Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list