
On Fri, 11 Apr 2008 17:36:43 +0300, Peter Dimov wrote:
pair<promise,future> pc = create_channel();
The thought crossed my mind, but there are too many places in real-world usage (I've had a lot now) where I find I want to get a future from a promise. I think it might be awkward to store both, and defeats the intention of automatic cancelation.
Can you please go into more detail?
Frank nailed it with the fire-and-forget example, but I did go back and grep through my application code to see where I was deriving futures from promises. 1) I converted a promise to future when I needed status functions like ready() from the future. I've kept the promise interface pretty narrow. So that usage could be changed if promise was made broader. 2) In my scheduler I had a "class task" object for each job which contained a promise. The user could also hold a handle to this task object and get a copy of the corresponding future. I suppose code like that could be restructured if the extra constraint was justified. -braddock