/// <summary> /// Creates a new AbstractRecordReader that de-serializes records from the given input gate and can spill partial records to disk, if they grow large. /// </summary> /// <param name="inputGate">The input gate to read from.</param> /// <param name="tmpDirectories">The temp directories. USed for spilling if the reader concurrently reconstructs multiple large records.</param> protected AbstractRecordReader(IInputGate inputGate, string[] tmpDirectories) : base(inputGate) { // Initialize one deserializer per input channel _recordDeserializers = new IRecordDeserializer <T> [inputGate.NumberOfInputChannels]; for (var i = 0; i < _recordDeserializers.Length; i++) { _recordDeserializers[i] = new SpillingAdaptiveSpanningRecordDeserializer <T>(tmpDirectories); } }
protected AbstractReader(IInputGate inputGate) { InputGate = inputGate; }
/// <summary> /// Creates a new RecordReader that de-serializes records from the given input gate and can spill partial records to disk, if they grow large. /// </summary> /// <param name="inputGate">The input gate to read from.</param> /// <param name="recordType"></param> /// <param name="tmpDirectories">The temp directories. USed for spilling if the reader concurrently reconstructs multiple large records.</param> public RecordReader(IInputGate inputGate, Type recordType, string[] tmpDirectories) : base(inputGate, tmpDirectories) { _recordType = recordType; }