Re: [libvirt] RFC / Braindump: public APIs needing data streams

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

 



FWIW this is the libguestfs RPC protocol:

http://et.redhat.com/~rjones/libguestfs/guestfs.3.html#communication_protocol
http://git.et.redhat.com/?p=libguestfs.git;a=blob;f=src/guestfs_protocol.x;hb=HEAD

It's not directly relevant because at present the server is single-
threaded and answers calls in order.

These are the relevant points of the file transfer system:

- At the API level, you pass in filenames.  The caller is responsible
for creating a named pipe in the filesystem, or passing in names like
"/dev/fd/N".

- File transfers are sent using chunked encoding.  The key was to
allow cancellation *initiated from either side* (not as easy as it
seems).  So if an error occurs at either end, the transfer can be
stopped almost immediately, and synchronization can be reestablished.
The details are in the link above.

Rich.

-- 
Richard Jones, Emerging Technologies, Red Hat  http://et.redhat.com/~rjones
virt-p2v converts physical machines to virtual machines.  Boot with a
live CD or over the network (PXE) and turn machines into Xen guests.
http://et.redhat.com/~rjones/virt-p2v

--
Libvir-list mailing list
Libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]