[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