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: 2.0.0
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 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 methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates 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 methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Events
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