예제 #1
0
파일: IO.cs 프로젝트: Lovesan/research-lisp
 /// <summary>Скопировать данные из одного <see cref="Stream"/> в другой.</summary>
 /// <param name="src">Поток - источник данных.</param>
 /// <param name="dst">Поток - получатель данных.</param>
 /// <param name="bp">Пул буферов, который будет использован для копирования.</param>
 /// <param name="bufferSize">Размер буфера, который будет использован для копирования.</param>
 public static void Copy(Stream src,
     Stream dst, BufferPool bp, int bufferSize)
 {
     BufferPool.Buffer buffer = null;
     if (bp != null) buffer = bp.Allocate(bufferSize, 0);
     if (buffer == null) buffer = new BufferPool.Buffer(null, bufferSize);
     using (buffer) {
         Copy(src, dst, buffer);
     }
 }
예제 #2
0
파일: IO.cs 프로젝트: Lovesan/research-lisp
 /// <summary>Создать новый <see cref="Buffer"/>.</summary>
 /// <param name="pool"><see cref="BufferPool"/>, который будет управлять буфером.</param>
 /// <param name="size">Размер нового буфера в байтах.</param>
 /// <remarks><paramref name="pool"/> может принимать значение <b>null</b>, это означает что
 /// новым буфером не будет управлять <see cref="BufferPool"/>.</remarks>
 public Buffer(BufferPool pool, int size)
 {
     this.pool = pool;
     buffer = new byte[size];
     mustClean = false;
 }