/// <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;
 }
Exemple #3
0
 /// <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;
 }