Esempio n. 1
0
 public ThriftyBlockyStreamReader(IStreamReaderProvider readerProvider,
                                  ISizeableStorageProvider <long, NumberedByteBlock> storageProvider,
                                  IWaitableObjectPool <byte[]> bytePool)
 {
     _bytePool            = bytePool;
     StreamReaderProvider = readerProvider;
     StorageProvider      = storageProvider;
 }
Esempio n. 2
0
 protected StreamReaderBase(Stream stream, int blockLength,
                            IWaitableObjectPool <byte[]> bytePool, IStorage <long, NumberedByteBlock> byteBlocks)
 {
     _stream      = stream;
     _blockLength = blockLength;
     _bytePool    = bytePool;
     _byteBlocks  = byteBlocks;
 }
Esempio n. 3
0
        public BlockyStream4erPair CreateStream4erPair()
        {
            IWaitableObjectPool <byte[]> bytePool = PoolProvider.ProvideNew();
            var reader = new ThriftyBlockyStreamReader(ReaderProvider, StorageProvider, bytePool);
            var writer = new ThriftyBlockyStreamWriter(WriterProvider, StorageEnumerableProvider, bytePool);

            return(new BlockyStream4erPair
            {
                StreamReader = reader,
                StreamWriter = writer
            });
        }
 public override IReader ProvideNew(Stream stream, int blockLength,
                                    IWaitableObjectPool <byte[]> bytePool, IStorage <long, NumberedByteBlock> byteBlocks)
 {
     return(new AsyncMlthrdStreamReader(stream, blockLength, bytePool, byteBlocks, ThreadProvider));
 }
 public AsyncMlthrdStreamReader(Stream stream, int blockLength,
                                IWaitableObjectPool <byte[]> bytePool, IStorage <long, NumberedByteBlock> byteBlocks,
                                IThreadProvider threadProvider) : base(stream, blockLength, bytePool, byteBlocks)
 {
     _threadProvider = threadProvider;
 }
Esempio n. 6
0
 public abstract IReader ProvideNew(Stream stream, int blockLength,
                                    IWaitableObjectPool <byte[]> bytePool, IStorage <long, NumberedByteBlock> byteBlocks);