Version 1 (modified by Matthäus Wander, 12 years ago) (diff)


CStream is a replacement for the now obsolete CryptoolStream class. With CStream a plugin can pass data as byte stream to other plugins.


  • Supports 0..n concurrent readers on one CStream
  • Clean separation between writer and reader -- reading plugins can't disturb the writing plugin or other reading instances
  • Does not forget data -- new readers can be created at any time and support random seeking
  • Uses internal byte array as underlying buffer and switches automagically to a temporary file, if data exceeds a certain size
  • Supports the .NET Dispose pattern, but does not require you to use it -- the garbage collector will clean up for you
  • Supports chunked streaming -- receivers can read and process data even if the sender has not finished writing
  • Supports POSIX-like Read() and offers also a more convenient ReadFully()