Name |
Description |
Charset |
|
DateTimeExtensions |
|
DigestOutputStream |
A light version of a std Java class that updates a hash while writing bytes to a stream. |
FS |
|
FS.GLOBAL_HOME |
|
FS.SYSTEM_HOME |
|
FS.USER_HOME |
|
FileStreamExtensions |
|
Hex |
|
IO |
Input/Output utilities |
Inspector |
|
Int32Extensions |
|
IntList |
A more efficient List{Int32} using a primitive integer array. |
MessageDigest |
|
MutableInteger |
|
PathUtil |
|
QuotedString |
Utility functions related to quoted string handling. |
QuotedString.BourneStyle |
Quoting style used by the Bourne shell. Quotes are unconditionally inserted during quote(string). This protects shell meta-characters like $ or ~ from being recognized as special. |
QuotedString.BourneUserPathStyle |
Bourne style, but permits ~user at the start of the string. |
QuotedString.GitPathStyle |
Quoting style that obeys the rules Git applies to file names |
RawSubStringPattern |
|
StringExtension |
|
TemporaryBuffer |
A fully buffered output stream using local disk storage for large data. Initially this output stream buffers to memory, like ByteArrayOutputStream might do, but it shifts to using an on disk temporary file if the output gets too large. The content of this buffered stream may be sent to another OutputStream only After this stream has been properly closed by close(). |
TemporaryBuffer.Block |
|
TimeoutStream |
A normal Stream might provide a timeout on a specific read opreation. However, using StreamReader.ReadToEnd() on it can still get stuck for a long time. This class offers a timeout from the moment of it's construction to the read. Every read past the timeout from the stream's construction will fail. If the timeout elapsed while a read is in progress TimeoutStream is not responsible for aborting the read (there is no known good way in .NET to do it) See - http://www.dotnet247.com/247reference/msgs/36/182553.aspx and
- http://www.google.co.il/search?q=cancel+async+Stream+read+.net
Stream originalStream = GetStream(); StreamReader reader = new StreamReader(new TimeoutStream(originalStream, 5000)); // assuming the originalStream has a per-operation timeout, then ReadToEnd() // will return in (5000 + THAT_TIMEOUT) string foo = reader.ReadToEnd(); |