[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH 03/11] Helper functions for processing data streams in libvirtd

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 Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel veillard com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]