Click or drag to resize

MultiInputRecordReaderT Class

Base class for record readers that combine multiple inputs.
Inheritance Hierarchy

Namespace: Ookii.Jumbo.IO
Assembly: Ookii.Jumbo (in Ookii.Jumbo.dll) Version: 0.3.0+dc1307f20e065bb638e0b73a34cd216f57e486f1
Syntax
public abstract class MultiInputRecordReader<T> : RecordReader<T>, 
	IMultiInputRecordReader, IRecordReader, IDisposable

Type Parameters

T
The type of the records.

The MultiInputRecordReaderT type exposes the following members.

Constructors
 NameDescription
Protected methodMultiInputRecordReaderT Initializes a new instance of the MultiInputRecordReaderT class.
Top
Properties
 NameDescription
Public propertyAllowRecordReuse Gets a value that indicates that this record reader is allowed to reuse record instances.
Public propertyBufferSize Gets the buffer size to use to read input files.
Public propertyBytesRead Gets the actual number of bytes read from the input.
(Overrides RecordReaderTBytesRead)
Public propertyCompressionType Gets the type of compression to use to read input files.
Public propertyCurrentInputCount Gets the current number of inputs that have been added to the MultiInputRecordReaderT for the currently active set of partitions.
Public propertyCurrentPartition Gets or sets the partition that calls to ReadRecord should return records for.
Public propertyCurrentRecord Gets the current record.
(Inherited from RecordReaderT)
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 of all record readers.
(Overrides RecordReaderTInputBytes)
Protected propertyIsDisposed Gets a value that indicates whether the object has been disposed.
Public propertyPartitionCount Gets the number of partitions assigned to this reader.
Public propertyPartitionNumbers Gets the partition numbers assigned to this reader.
Public propertyProgress Gets the combined progress of the record readers.
(Overrides RecordReaderTProgress)
Public propertyReadTime Gets the time spent reading.
(Inherited from RecordReaderT)
Public propertyRecordsRead Gets the number of records that has been read by this record reader.
(Inherited from RecordReaderT)
Public propertySourceName Gets or sets the an informational string indicating the source of the records.
(Inherited from RecordReaderT)
Public propertyTotalInputCount Gets the total number of inputs readers that this record reader will have.
Top
Methods
 NameDescription
Public methodAddInput Adds the specified input to be read by this record reader.
Public methodAssignAdditionalPartitions Assigns additional partitions to this record reader.
Protected methodCheckDisposed Throws a ObjectDisposedException if the object has been disposed.
Public methodDispose Cleans up all resources held by this StreamRecordReader{T}.
(Inherited from RecordReaderT)
Protected methodDispose(Boolean) Cleans up all resources associated with this MultiInputRecordReaderT.
(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)
Protected methodGetInput Returns the specified input.
Protected methodGetInputReader(Int32) Gets the record reader for the specified input of the current partition.
Protected methodGetInputReader(Int32, Int32) Returns the record reader for the specified partition and input.
Protected methodGetInputReader(Int32, Int32, Boolean) Returns the record reader for the specified partition and input.
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodNextPartition Moves the current partition to the next partition.
Protected methodOnCurrentPartitionChanged Raises the CurrentPartitionChanged event.
Protected methodOnCurrentPartitionChanging Raises the CurrentPartitionChanging event.
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)
Protected methodWaitForInputs Waits until the specified number of inputs becomes available for all currently active partitions.
Top
Events
 NameDescription
Public eventCurrentPartitionChanged Event raised when the value of the CurrentPartition property changes.
Public eventCurrentPartitionChanging Event raised when the value of the CurrentPartition property is about to change.
Public eventHasRecordsChanged Occurs when the value of the HasRecords property changes.
(Inherited from RecordReaderT)
Top
Remarks

Depending on the type of record reader, the records of the input record readers might not need to read records of type T.

If you accept inputs of types other than T, you must specify that using the InputTypeAttribute.

The initial value of HasRecords will be . It is up to the deriving class to set it to when appropriate.

Note  Note
While the AddInput(IListRecordInput), WaitForInputs(Int32, Int32) and GetInputReader(Int32) methods are thread safe, no other methods of this class are guaranteed to be thread safe, and derived classes are not required to make ReadRecordInternal thread safe. Essentially, you may have only one thread reading from the MultiInputRecordReaderT, while one or more other threads add inputs to it.
See Also