BSPGenerationTools.TarPacker.CopyStreamWithProgress C# (CSharp) Method

CopyStreamWithProgress() private static method

private static CopyStreamWithProgress ( Stream source, Stream dest, int &filesDone, long &bytesDone, byte tempBuffer, long len = -1 ) : void
source Stream
dest Stream
filesDone int
bytesDone long
tempBuffer byte
len long
return void
        private static void CopyStreamWithProgress(Stream source, Stream dest, ref int filesDone, ref long bytesDone, byte[] tempBuffer, long len = -1)
        {
            long done = 0;
            if (len < 0)
                len = source.Length;

            while (done < len)
            {
                long todo = Math.Min(tempBuffer.LongLength, len - done);
                int cdone = source.Read(tempBuffer, 0, (int)todo);
                if (cdone <= 0)
                    break;
                dest.Write(tempBuffer, 0, cdone);
                done += cdone;
                bytesDone += cdone;
            }

            filesDone++;
        }