コード例 #1
0
ファイル: MemoryWriter.cs プロジェクト: zjklee/monotorrent
 void Flush (int index)
 {
     CachedBlock b = CachedBlocks[index];
     CachedBlocks.RemoveAt (index);
     Interlocked.Add (ref cacheUsed, -b.Count);
     Write (b.File, b.Offset, b.Buffer, 0, b.Count, true);
     ClientEngine.BufferPool.Return (b.Buffer);
 }
コード例 #2
0
ファイル: MemoryWriter.cs プロジェクト: bienhuynh/monotorrent
        void Flush(int index)
        {
            CachedBlock b = CachedBlocks[index];

            CachedBlocks.RemoveAt(index);
            Interlocked.Add(ref cacheUsed, -b.Count);
            using (b.BufferReleaser)
                Write(b.File, b.Offset, b.Buffer, 0, b.Count, true);
        }
コード例 #3
0
ファイル: MemoryWriter.cs プロジェクト: dnetguru/monotorrent
        async ReusableTask FlushAsync(int index)
        {
            CachedBlock b = CachedBlocks[index];

            CachedBlocks.RemoveAt(index);
            Interlocked.Add(ref cacheUsed, -b.Count);

            using (b.BufferReleaser)
                await WriteAsync(b.File, b.Offset, b.Buffer, 0, b.Count, true);
        }