Implementation of a BlockingInputStream to provide data to
RawDataBlock that expects data in 512 byte chunks. Useful to read
data from slow (ie, non FileInputStream) sources, for example when
reading an OLE2 Document over a network.
Possible extentions: add a timeout. Curently a call to read(byte) on this
class is blocking, so use at your own peril if your underlying stream blocks.
We had to revert to byte per byte reading to keep
with slow network connections on one hand, without
missing the end-of-file.
This is the only method that does its own thing in this class
everything else is delegated to aggregated stream.
THIS IS A BLOCKING BLOCK READ!!!