title: Is Stream.Copy piped?
body: <p>Suppose I am writing a tcp proxy code. 
  I am reading from the incoming stream and writing to the output stream. 
  I know that Stream.Copy uses a buffer, but my question is: 
  Does the Stream.Copy method writes to the output stream while fetching the next chunk from the input stream or it a loop like "read chunk from input, write chunk to ouput, read chunk from input, etc" ? </p>