Example #1
0
        private DataKey ReadKey(long position)
        {
            var buffer = new byte[DataKey.HEADER_SIZE]; // why 79?

            this.file.ReadBuffer(buffer, position, buffer.Length);
            var key = new DataKey(this.file);

            using (var ms = new MemoryStream(buffer))
                using (var rdr = new BinaryReader(ms))
                    key.Read(rdr, true);
            key.position = position;
            return(key);
        }
Example #2
0
        public static object FromReader(BinaryReader reader, byte version)
        {
            int size = reader.ReadInt32();
            var keys = new IdArray <DataKey>(size);

            while (true)
            {
                int index = reader.ReadInt32();
                if (index == -1)
                {
                    break;
                }
                var key = new DataKey(null, null, -1, -1);
                key.Read(reader, true);
                keys.Add(index, key);
            }
            return(new DataKeyIdArray(keys));
        }