[saga-rg] proposal for extended file IO
Jon MacLaren
maclaren at cct.lsu.edu
Mon Jun 13 10:11:57 CDT 2005
On Jun 13, 2005, at 10:00 AM, Andre Merzky wrote:
> <snip>
> Asynchroneousity (eng?) would be provided via the task
> interface, as before (pseudocode):
>
> sync: File file (url);
> file.read (len, buff, &ret_len);
>
> async: File file (url);
> FileTaskFactory ftf = file.createTaskFactory ();
> Task task = ftf.read (len, buff);
>
> task.run ();
>
> // do some other stuff here
>
> task.wait (&ret_len);
>
> There are more methods on the Task interface, for non
> blocking checks etc. The task models holds for all saga
> objects basically, so would also cover the eRead and eWrite
> calls.
But this could take a *long* time, e.g. hours (you have to sort
through 1TB of data, which is on a disk). How would a client be able
to tell what was going on? Can I distinguish between:
a) The remote service is preparing the data for me
b) The network connection to the service has suddenly slowed down or
broken, and the data can't get through.
I think if your API looks like:
1. PrepareData
2. GetData
then people are more likely to expect that the data preparation is
going to take a while.
I'm not sure that just allowing the first read to take an hour is
going to encourage people to build clients that can cope well with
this. I'd hit <CTRL-C> if I didn't have a better idea of what was
going on.
Jon.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.ogf.org/pipermail/saga-rg/attachments/20050613/6bfa2540/attachment-0004.html
More information about the saga-rg
mailing list