Am 07.09.2010 17:09, schrieb Stefan Hajnoczi:
Right, I'm a little hesitant to get too far into discussing the
management interface because I remember long threads about polling and
async. I never fully read them but I bet some wisdom came out of them
that applies here.
There are two ways to do a long running (async?) task:
1. Multiple smaller pokes. Perhaps completion of a single poke is
async. But the key is that the interface is incremental and driven by
the management stack.
2. State. Turn on streaming and watch it go. You can find out its
current state using another command which will tell you whether it is
enabled/disabled and progress. Use a command to disable it.
I think we need option 2 in any case for users not using libvirt. I for
one wouldn't really love to type in monitor commands every few seconds
to get the streaming done. ;-)
Let's start with this. We can always add option 1 for more sophisticated
cases later if it's desired by users.
Kevin