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

Namespace:  MimeKit.IO
Assembly:  MimeKit (in MimeKit.dll) Version: 2.14.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
Gets the underlying stream.
Public propertyCanRead
Checks whether or not the stream supports reading.
(Overrides StreamCanRead.)
Public propertyCanSeek
Checks whether or not the stream supports seeking.
(Overrides StreamCanSeek.)
Public propertyCanTimeout
Checks whether or not I/O operations can timeout.
(Overrides StreamCanTimeout.)
Public propertyCanWrite
Checks whether or not the stream supports writing.
(Overrides StreamCanWrite.)
Public propertyEndBoundary
Gets the end boundary offset of the underlying stream.
Protected propertyLeaveOpen
Checks whether or not the underlying stream will remain open after the BoundStream is disposed.
Public propertyLength
Gets the length of the stream, in bytes.
(Overrides StreamLength.)
Public propertyPosition
Gets or sets the current position within the stream.
(Overrides StreamPosition.)
Public propertyReadTimeout
Gets or sets a value, in miliseconds, that determines how long the stream will attempt to read before timing out.
(Overrides StreamReadTimeout.)
Public propertyStartBoundary
Gets the start boundary offset of the underlying stream.
Public propertyWriteTimeout
Gets or sets a value, in miliseconds, 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
Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. Instead of calling this method, ensure that the stream is properly disposed.
(Inherited from Stream.)
Public methodCopyTo(Stream)
Reads the bytes from the current stream and writes them to another stream.
(Inherited from Stream.)
Public methodCopyTo(Stream, Int32)
Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.
(Inherited from Stream.)
Public methodCopyToAsync(Stream)
Asynchronously reads the bytes from the current stream and writes them to another stream.
(Inherited from Stream.)
Public methodCopyToAsync(Stream, Int32)
Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.
(Inherited from Stream.)
Public methodCopyToAsync(Stream, Int32, CancellationToken)
Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.
(Inherited from Stream.)
Public methodCreateObjRef
Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.
(Inherited from MarshalByRefObject.)
Protected methodCreateWaitHandle Obsolete.
Allocates a WaitHandle object.
(Inherited from Stream.)
Public methodDispose
Releases all resources used by the Stream.
(Inherited from Stream.)
Protected methodDispose(Boolean)
Releases 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
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFlush
Clears all buffers for this stream and causes any buffered data to be written to the underlying device.
(Overrides StreamFlush.)
Public methodFlushAsync
Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.
(Inherited from Stream.)
Public methodFlushAsync(CancellationToken)
Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.
(Overrides StreamFlushAsync(CancellationToken).)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetLifetimeService
Retrieves the current lifetime service object that controls the lifetime policy for this instance.
(Inherited from MarshalByRefObject.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInitializeLifetimeService
Obtains a lifetime service object to control the lifetime policy for this instance.
(Inherited from MarshalByRefObject.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodMemberwiseClone(Boolean)
Creates a shallow copy of the current MarshalByRefObject object.
(Inherited from MarshalByRefObject.)
Protected methodObjectInvariant Obsolete.
Provides support for a Contract.
(Inherited from Stream.)
Public methodRead
Reads 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)
Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
(Inherited from Stream.)
Public methodReadAsync(Byte, Int32, Int32, CancellationToken)
Asynchronously reads 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
Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.
(Inherited from Stream.)
Public methodSeek
Sets the position within the current stream.
(Overrides StreamSeek(Int64, SeekOrigin).)
Public methodSetLength
Sets the length of the stream.
(Overrides StreamSetLength(Int64).)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodWrite
Writes 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)
Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
(Inherited from Stream.)
Public methodWriteAsync(Byte, Int32, Int32, CancellationToken)
Asynchronously writes 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
Writes a byte to the current position in the stream and advances the position within the stream by one byte.
(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