Server.DynamicSaveStrategy.StartCommitTask C# (CSharp) Méthode

StartCommitTask() private méthode

private StartCommitTask ( BlockingCollection threadWriter, SequentialFileWriter data, SequentialFileWriter index ) : Task
threadWriter BlockingCollection
data SequentialFileWriter
index SequentialFileWriter
Résultat Task
		private Task StartCommitTask(BlockingCollection<QueuedMemoryWriter> threadWriter, SequentialFileWriter data, SequentialFileWriter index)
		{
			Task commitTask = Task.Factory.StartNew(() =>
			{
				while (!(threadWriter.IsCompleted))
				{
					QueuedMemoryWriter writer;

					try
					{
						writer = threadWriter.Take();
					}
					catch (InvalidOperationException)
					{
						//Per MSDN, it's fine if we're here, successful completion of adding can rarely put us into this state.
						break;
					}

					writer.CommitTo(data, index);
				}
			});

			return commitTask;
		}