Mercurial > pub > ImplabNet
view Implab/Formats/ReaderScanner.cs @ 205:8200ab154c8a v2
Added ResetState to RunnableComponent to reset in case of failure
Added StateChanged event to IRunnable
Renamed Promise.SUCCESS -> Promise.Success
Added Promise.FromException
Renamed Bundle -> PromiseAll in PromiseExtensions
author | cin |
---|---|
date | Tue, 25 Oct 2016 17:40:33 +0300 |
parents | 4f82e0f161c3 |
children |
line wrap: on
line source
using System; using System.IO; namespace Implab.Formats { public class ReaderScanner: TextScanner { const int CHUNK_SIZE = 1024*4; const int BUFFER_MAX = CHUNK_SIZE*1024; readonly TextReader m_reader; public ReaderScanner(TextReader reader, int limit, int chunk) : base(limit, chunk) { Safe.ArgumentNotNull(reader, "reader"); m_reader = reader; } public ReaderScanner(TextReader reader) : this(reader, BUFFER_MAX, CHUNK_SIZE) { } protected override int Read(char[] buffer, int offset, int size) { return m_reader.Read(buffer, offset, size); } protected override void Dispose(bool disposing) { if (disposing) Safe.Dispose(m_reader); base.Dispose(disposing); } } }