public SegmentBlockDecoderRecordOffsetList(BlockAccessor datastream)
{
this.datastream = datastream;
if (this.datastream.Length == 0) {
throw new Exception("SegmentBlockDecoderRecordOffsetList: handed empty stream");
}
// read the footer index size
// FIXME: BUG BUG BUG!! using SeekOrigin.End is only valid here because our current RegionManager
// is handing us a file. We need to decide if future Regionmanagers are going to explicitly
// make "subregion" Streams, or whether we need to handle this differently.
datastream.Seek(-4, SeekOrigin.End); // last 4 bytes of block
BinaryReader r = new BinaryReader(datastream);
number_of_records = r.ReadInt32();
Console.WriteLine("numrecords: " + number_of_records);
}