Defines an interface for random access data reading. Implementations should provide methods to read bytes from a data source.
Reads at most buf.size bytes from the file at the specified pos into the buf array.
Reads at most len bytes from the file at the specified pos into the buf array.
Reads exactly len bytes from the file at the specified pos into the buf array.