Click or drag to resize
MimeKit

BoundStream Class

A bounded stream, confined to reading and writing data to a limited subset of the overall source stream.
Inheritance Hierarchy
SystemObject
  SystemMarshalByRefObject
    System.IOStream
      MimeKit.IOBoundStream

Namespace: MimeKit.IO
Assembly: MimeKit (in MimeKit.dll) Version: 4.3.0
Syntax
C#
public class BoundStream : Stream

The BoundStream type exposes the following members.

Constructors
 NameDescription
Public methodBoundStream Initialize a new instance of the BoundStream class.
Top
Properties
 NameDescription
Public propertyBaseStream Get the underlying stream.
Public propertyCanRead Check whether or not the stream supports reading.
(Overrides StreamCanRead)
Public propertyCanSeek Check whether or not the stream supports seeking.
(Overrides StreamCanSeek)
Public propertyCanTimeout Check whether or not I/O operations can timeout.
(Overrides StreamCanTimeout)
Public propertyCanWrite Check whether or not the stream supports writing.
(Overrides StreamCanWrite)
Public propertyEndBoundary Get the end boundary offset of the underlying stream.
Protected propertyLeaveOpen Check whether or not the underlying stream will remain open after the BoundStream is disposed.
Public propertyLength Get the length of the stream, in bytes.
(Overrides StreamLength)
Public propertyPosition Get or sets the current position within the stream.
(Overrides StreamPosition)
Public propertyReadTimeout Get or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
(Overrides StreamReadTimeout)
Public propertyStartBoundary Get the start boundary offset of the underlying stream.
Public propertyWriteTimeout Get or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.
(Overrides StreamWriteTimeout)
Top
Methods
 NameDescription
Public methodBeginRead
(Inherited from Stream)
Public methodBeginWrite
(Inherited from Stream)
Public methodClose
(Inherited from Stream)
Public methodCopyTo(Stream)
(Inherited from Stream)
Public methodCopyTo(Stream, Int32)
(Inherited from Stream)
Public methodCopyToAsync(Stream)
(Inherited from Stream)
Public methodCopyToAsync(Stream, Int32)
(Inherited from Stream)
Public methodCopyToAsync(Stream, Int32, CancellationToken)
(Inherited from Stream)
Public methodCreateObjRef
(Inherited from MarshalByRefObject)
Protected methodCreateWaitHandleObsolete.

(Inherited from Stream)
Public methodDispose
(Inherited from Stream)
Protected methodDispose(Boolean) Release the unmanaged resources used by the BoundStream and optionally releases the managed resources.
(Overrides StreamDispose(Boolean))
Public methodEndRead
(Inherited from Stream)
Public methodEndWrite
(Inherited from Stream)
Public methodEquals
(Inherited from Object)
Protected methodFinalize
(Inherited from Object)
Public methodFlush Clear all buffers for this stream and causes any buffered data to be written to the underlying device.
(Overrides StreamFlush)
Public methodFlushAsync
(Inherited from Stream)
Public methodFlushAsync(CancellationToken) Asynchronously clear all buffers for this stream and causes any buffered data to be written to the underlying device.
(Overrides StreamFlushAsync(CancellationToken))
Public methodGetHashCode
(Inherited from Object)
Public methodGetLifetimeService
(Inherited from MarshalByRefObject)
Public methodGetType
(Inherited from Object)
Public methodInitializeLifetimeService
(Inherited from MarshalByRefObject)
Protected methodMemberwiseClone
(Inherited from Object)
Protected methodMemberwiseClone(Boolean)
(Inherited from MarshalByRefObject)
Protected methodObjectInvariantObsolete.

(Inherited from Stream)
Public methodRead Read a sequence of bytes from the stream and advances the position within the stream by the number of bytes read.
(Overrides StreamRead(Byte, Int32, Int32))
Public methodReadAsync(Byte, Int32, Int32)
(Inherited from Stream)
Public methodReadAsync(Byte, Int32, Int32, CancellationToken) Asynchronously read a sequence of bytes from the stream and advances the position within the stream by the number of bytes read.
(Overrides StreamReadAsync(Byte, Int32, Int32, CancellationToken))
Public methodReadByte
(Inherited from Stream)
Public methodSeek Set the position within the current stream.
(Overrides StreamSeek(Int64, SeekOrigin))
Public methodSetLength Set the length of the stream.
(Overrides StreamSetLength(Int64))
Public methodToString
(Inherited from Object)
Public methodWrite Write a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written.
(Overrides StreamWrite(Byte, Int32, Int32))
Public methodWriteAsync(Byte, Int32, Int32)
(Inherited from Stream)
Public methodWriteAsync(Byte, Int32, Int32, CancellationToken) Asynchronously write a sequence of bytes to the stream and advances the current position within this stream by the number of bytes written.
(Overrides StreamWriteAsync(Byte, Int32, Int32, CancellationToken))
Public methodWriteByte
(Inherited from Stream)
Top
Remarks

Wraps an arbitrary stream, limiting I/O operations to a subset of the source stream. If the EndBoundary is -1, then the end of the stream is unbound.

When a MimeParser is set to parse a persistent stream, it will construct MimeContents using bounded streams instead of loading the content into memory.

See Also