示例#1
0
        private void PerformWrite(BufferedIO io)
        {
            // Find the block that this data belongs to and set it's state to "Written"
            int index = io.PieceOffset / Piece.BlockSize;

            try {
                // Perform the actual write
                writer.Write(io.Files, io.Offset, io.buffer, 0, io.Count, io.PieceLength, io.Manager.Torrent.Size);
                writeMonitor.AddDelta(io.Count);
            } finally {
                io.Complete = true;
                if (io.Callback != null)
                {
                    io.Callback(true);
                }
            }
        }
示例#2
0
 private void PerformRead(BufferedIO io)
 {
     try {
         if (writer.Read(io.Files, io.Offset, io.buffer, 0, io.Count, io.PieceLength, io.Manager.Torrent.Size))
         {
             io.ActualCount = io.Count;
         }
         else
         {
             io.ActualCount = 0;
         }
         readMonitor.AddDelta(io.ActualCount);
     } finally {
         io.Complete = true;
         if (io.Callback != null)
         {
             io.Callback(io.ActualCount == io.Count);
         }
     }
 }
示例#3
0
 private void PerformRead(BufferedIO io)
 {
     try {
         if (writer.Read(io.Files, io.Offset, io.buffer, 0, io.Count, io.PieceLength, io.Manager.Torrent.Size))
             io.ActualCount = io.Count;
         else
             io.ActualCount = 0;
         readMonitor.AddDelta(io.ActualCount);
     } finally {
         io.Complete = true;
         if (io.Callback != null)
             io.Callback(io.ActualCount == io.Count);
     }
 }
示例#4
0
 private void PerformWrite(BufferedIO io)
 {
     // Find the block that this data belongs to and set it's state to "Written"
     int index = io.PieceOffset / Piece.BlockSize;
     try {
         // Perform the actual write
         writer.Write(io.Files, io.Offset, io.buffer, 0, io.Count, io.PieceLength, io.Manager.Torrent.Size);
         writeMonitor.AddDelta(io.Count);
     } finally {
         io.Complete = true;
         if (io.Callback != null)
             io.Callback(true);
     }
 }