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 );
}
}