Esempio n. 1
0
 internal LightPacket(LightPageReader reader, LightPacketProvider packetProvider, int index, IList <Tuple <long, int> > data)
     : base(data.Sum(p => p.Item2))
 {
     _reader         = reader;
     _packetProvider = packetProvider;
     Index           = index;
     _dataSrc        = data;
 }
Esempio n. 2
0
 /// <summary>
 /// Creates a new instance of <see cref="LightContainerReader"/>.
 /// </summary>
 /// <param name="stream">The <see cref="Stream"/> to read.</param>
 /// <param name="closeOnDispose"><c>True</c> to close the stream when disposed, otherwise <c>false</c>.</param>
 /// <exception cref="ArgumentException"><paramref name="stream"/>'s <see cref="Stream.CanSeek"/> is <c>False</c>.</exception>
 public LightContainerReader(Stream stream, bool closeOnDispose)
 {
     if (!(stream ?? throw new ArgumentNullException(nameof(stream))).CanSeek)
     {
         throw new ArgumentException("Stream must be seek-able!", nameof(stream));
     }
     _reader = new LightPageReader(stream, closeOnDispose, NewStreamCallback);
 }
Esempio n. 3
0
        internal LightPacketProvider(LightPageReader reader)
        {
            _reader = reader ?? throw new ArgumentNullException(nameof(reader));

            StreamSerial = _reader.StreamSerial;

            AddPage();
        }
Esempio n. 4
0
 public void Dispose()
 {
     _pageOffsets.Clear();
     _pageGranules.Clear();
     _pagePacketCounts.Clear();
     _pageContinuations.Clear();
     _packetGranuleCounts.Clear();
     _cachedPageIndex = null;
     _cachedSegments  = null;
     _lastPacket      = null;
     _isEndOfStream   = true;
     _packetCount     = 0;
     _reader          = null;
 }
Esempio n. 5
0
 /// <summary>
 /// Cleans up
 /// </summary>
 public void Dispose()
 {
     _reader?.Dispose();
     _reader = null;
 }