private void FileCallback(FileQueue.Chunk chunk)
{
if (FileOperations.AreSynchronous)
{
fileStream.Write(chunk.Buffer, chunk.Offset, chunk.Size);
if (metrics != null)
{
metrics.OnFileWritten(chunk.Size);
}
chunk.Commit();
}
else
{
if (writeCallback == null)
{
writeCallback = this.OnWrite;
}
fileStream.BeginWrite(chunk.Buffer, chunk.Offset, chunk.Size, writeCallback, chunk);
}
}