Click or drag to resize

StreamRecordReaderT Class

Abstract base class for classes that read records from a stream or part of a stream.
Inheritance Hierarchy

Namespace: Ookii.Jumbo.IO
Assembly: Ookii.Jumbo (in Ookii.Jumbo.dll) Version: 0.3.0+dc1307f20e065bb638e0b73a34cd216f57e486f1
Syntax
public abstract class StreamRecordReader<T> : RecordReader<T>

Type Parameters

T
The type of the records to read.

The StreamRecordReaderT type exposes the following members.

Constructors
 NameDescription
Protected methodStreamRecordReaderT(Stream) Initializes a new instance of the StreamRecordReaderT class with the specified stream.
Protected methodStreamRecordReaderT(Stream, Int64, Int64) Initializes a new instance of the StreamRecordReaderT class with the specified stream.
Protected methodStreamRecordReaderT(Stream, Int64, Int64, Boolean) Initializes a new instance of the StreamRecordReaderT class with the specified stream.
Top
Properties
 NameDescription
Public propertyBytesRead Gets the size of the records before deserialization.
(Overrides RecordReaderTBytesRead)
Public propertyCurrentRecord Gets the current record.
(Inherited from RecordReaderT)
Protected propertyFirstRecordOffset Gets or sets the offset of the first record.
Public propertyHasFinished Gets a value indicating whether this instance has read all records.
(Inherited from RecordReaderT)
Public propertyHasRecords Gets a value that indicates whether there are records available on the data source that this reader is reading from.
(Inherited from RecordReaderT)
Public propertyInputBytes Gets the size of the records before deserialization.
(Overrides RecordReaderTInputBytes)
Protected propertyOffset Gets the position in the stream where reading began.
Public propertyProgress Gets the progress of the reader.
(Overrides RecordReaderTProgress)
Public propertyReadTime Gets the time spent reading.
(Inherited from RecordReaderT)
Protected propertyRecordInputStream Gets or sets the IRecordInputStream implementation of Stream.
Public propertyRecordsRead Gets the number of records that has been read by this record reader.
(Inherited from RecordReaderT)
Protected propertySize Gets the total size to read from the stream.
Public propertySourceName Gets or sets the an informational string indicating the source of the records.
(Inherited from RecordReaderT)
Protected propertyStream Gets the underlying stream from which this record reader is reading.
Top
Methods
 NameDescription
Protected methodCheckDisposed Checks if the object is disposed, and if so throws a ObjectDisposedException.
Public methodDispose Cleans up all resources held by this StreamRecordReader{T}.
(Inherited from RecordReaderT)
Protected methodDispose(Boolean) Cleans up all resources associated with this StreamRecordReaderT.
(Overrides RecordReaderTDispose(Boolean))
Public methodEnumerateRecords Enumerates over all the records.
(Inherited from RecordReaderT)
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Protected methodOnHasRecordsChanged Raises the HasRecordsChanged event.
(Inherited from RecordReaderT)
Public methodReadRecord Reads a record.
(Inherited from RecordReaderT)
Protected methodReadRecordInternal Reads a record.
(Inherited from RecordReaderT)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Events
 NameDescription
Public eventHasRecordsChanged Occurs when the value of the HasRecords property changes.
(Inherited from RecordReaderT)
Top
Remarks

Deriving classes should start reading at Offset. If Offset is not on a record boundary, they should seek ahead to the first record boundary and start from there.

Deriving classes should use Offset and Size to determine when to stop returning records. If Offset + Size is not on a record boundary, they should continue reading until the next record boundary.

If the stream implements IRecordInputStream with DoNotCrossBoundary set, and Offset + Size is on a structural boundary, StopReadingAtPosition will be set to Offset + Size. In this situation, Read(Byte, Int32, Int32) may return 0 before Size bytes are read. A deriving class should check this and stop reading at that point.

See Also