Comment on File API's FileData::slice method

FileData::slice appears to be spec'd like so:
FileData slice(in long long offset, in long long length); // throws
FileException

This suggests that it may throw a file exception.  I'm wondering if that is
a requirement?  It seems that the rest of the methods are designed to report
success or failure asynchronously.  I'm wondering why slice is not spec'd
similarly.

I think it would be bad for UAs to implement this exception since it would
require a synchronous stat'ing of the filesystem.  That could hang the
calling thread for a long time (consider network file systems).

It seems like it would be better for the spec to encourage
an asynchronous implementation.  For example, it should be the case that the
FileData object returned by slice may or may not be valid.  The user would
only find out when they try to use the FileData object.

Thoughts?
-Darin

Received on Friday, 2 October 2009 09:54:14 UTC