
[I missed Jack's point]
I think this is exactly what I _didn't_ want:-)
I'd like the delayed read to return an object that will automatically wait when I try to get the data from it, and the delayed write object to automatically wait when I garbage-collect it.
OK - that is fine. My driving requirement was that I be able to wait on _multiple_ files at the same time - ie, I dont know which one will complete first. There is no reason then why your initial suggestion can not satisfy my requirement, as long as the "buffer type object" returned from read is itself waitable. I agree there is no driving need for a seperate buffer type object and seperate waitable object necessarily. [OTOH, your scheme could be simply built on top of my scheme as a framework] Unfortunately, this doesnt seem to have grabbed anyone elses interest.. Mark.