
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