LoadFileWriterRetryable
using kCura.WinEDDS;
using kCura.WinEDDS.Exporters;
using kCura.WinEDDS.LoadFileEntry;
using Relativity.DataExchange.Export.VolumeManagerV2.Batches;
using Relativity.DataExchange.Export.VolumeManagerV2.Metadata.Paths;
using Relativity.DataExchange.Export.VolumeManagerV2.Statistics;
using Relativity.Logging;
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
namespace Relativity.DataExchange.Export.VolumeManagerV2.Metadata.Writers
{
public class LoadFileWriterRetryable : WriterRetryable, ILoadFileWriter, IStateful, IDisposable
{
private readonly LoadFileWriter _loadFileWriter;
public LoadFileWriterRetryable(WritersRetryPolicy writersRetryPolicy, StreamFactory streamFactory, ILog logger, IStatus status, LoadFileDestinationPath destinationPath, LoadFileWriter loadFileWriter, IMetadataProcessingStatistics metadataProcessingStatistics)
: base(writersRetryPolicy, streamFactory, logger, status, destinationPath, metadataProcessingStatistics)
{
_loadFileWriter = loadFileWriter;
}
public void Write(IDictionary<int, ILoadFileEntry> linesToWrite, ObjectExportInfo[] artifacts, CancellationToken cancellationToken)
{
Execute(delegate(IEnumerator<ObjectExportInfo> enumerator, StreamWriter streamWriter) {
_loadFileWriter.Write(streamWriter, linesToWrite, enumerator, cancellationToken);
}, artifacts, cancellationToken);
}
}
}