private CachedHunk CacheHunk(int index)
        {
            CachedHunk hunk = new CachedHunk();

            hunk.data  = ReadHunk(index);
            hunk.index = index;
            hunkCache.Add(hunk);
            if (hunkCache.Count >= hunkCacheMaxSize)
            {
                hunkCache.RemoveAt(0);
            }
            return(hunk);
        }
Beispiel #2
0
        private CachedHunk CacheHunk(int index)
        {
            var hunk = new CachedHunk
            {
                Data  = _readHunk(index),
                Index = index
            };

            _hunkCache.Add(hunk);
            if (_hunkCache.Count >= HunkCacheMaxSize)
            {
                _hunkCache.RemoveAt(0);
            }

            return(hunk);
        }
        private void GetHunk(int index)
        {
            hunkOffset = (long)index * hunkSize;
            int count = hunkCache.Count;

            for (int i = 0; i < count; i++)
            {
                CachedHunk hunk = hunkCache[i];
                if (hunk.index == index)
                {
                    currentHunk = hunk;
                    return;
                }
            }
            currentHunk = CacheHunk(index);
        }
Beispiel #4
0
        private void GetHunk(int index)
        {
            _hunkOffset = index * _hunkSize;
            var count = _hunkCache.Count;

            for (var i = 0; i < count; i++)
            {
                var hunk = _hunkCache[i];
                if (hunk.Index == index)
                {
                    _currentHunk = hunk;
                    return;
                }
            }

            _currentHunk = CacheHunk(index);
        }