##// END OF EJS Templates
Bound promise to CancellationToken...
Bound promise to CancellationToken Added new states to ExecutionSate enum. Added Safe.Guard() method to handle cleanup of the result of the promise

File last commit:

r183:4f82e0f161c3 ref20160224
r209:a867536c68fc v2
Show More
ReaderScanner.cs
30 lines | 845 B | text/x-csharp | CSharpLexer
cin
rewritten the text scanner
r176 using System;
using System.IO;
namespace Implab.Formats {
public class ReaderScanner: TextScanner {
cin
fixed DFA optimization, JSON is fully functional
r183 const int CHUNK_SIZE = 1024*4;
cin
rewritten the text scanner
r176 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);
}
}
}