A RandomAccessDataSource is used for reading chunks of bytes from file.
Get the size of the resource in number of bytes.
Synchronously fetch a chunk of data from a start and end byte offset. This method should be thread safe as it can be called from multiple threads simultaneously. In case of error, throw exception.