示例#1
0
        private IEnumerable <InternalIByteArrayKeyValuePair> SeekToOffset(int offset, AppendableByteArraySegment lastkey)
        {
            var key   = lastkey;
            var value = new ArraySegment <byte>(_data, offset, 0);

            for (;;)
            {
                var currentOffset = value.Offset + value.Count;

                if (currentOffset >= _restartOffset)
                {
                    yield break;
                }

                ParseEntry(currentOffset, ref key, ref value);

                yield return(new InternalIByteArrayKeyValuePair(key.Clone(), value));
            }
        }