public Aes128CtrExStorage(IStorage baseStorage, IStorage bucketTreeHeader, IStorage bucketTreeData, byte[] key, long counterOffset, byte[] ctrHi, bool leaveOpen) : base(baseStorage, key, counterOffset, ctrHi, leaveOpen) { BucketTree = new BucketTree <AesSubsectionEntry>(bucketTreeHeader, bucketTreeData); SubsectionEntries = BucketTree.GetEntryList(); SubsectionOffsets = SubsectionEntries.Select(x => x.Offset).ToList(); }
public IndirectStorage(IStorage bucketTreeHeader, IStorage bucketTreeData, bool leaveOpen, params IStorage[] sources) { Sources.AddRange(sources); if (!leaveOpen) { ToDispose.AddRange(sources); } BucketTree = new BucketTree <RelocationEntry>(bucketTreeHeader, bucketTreeData); RelocationEntries = BucketTree.GetEntryList(); RelocationOffsets = RelocationEntries.Select(x => x.Offset).ToList(); Length = BucketTree.BucketOffsets.OffsetEnd; }