title: Is http.ServerResponse.write() blocking?
body: <p>Is it possible to write non-blocking response.write? I've written a simple test to see if other clients can connect while one downloads a file:</p>
  
  <pre><code>var connect = require('connect');
  
  var longString = 'a';
  for (var i = 0; i &lt; 29; i++) { // 512 MiB
     longString += longString;
  }
  console.log(longString.length)
  
  function download(request, response) {
      response.setHeader("Content-Length", longString.length);
      response.setHeader("Content-Type", "application/force-download");
      response.setHeader("Content-Disposition", 'attachment; filename="file"');
      response.write(longString);
      response.end();
  }
  
  var app = connect().use(download);
  connect.createServer(app).listen(80);
  </code></pre>
  
  <p>And it seems like <code>write</code> is blocking!</p>
  
  <p>Am I doing something wrong?</p>
  
  <p><strong>Update</strong> So, it doesn't block and it blocks in the same time. It doesn't block in the sense that two files can be downloaded simultaneously. And it blocks in the sense that creating a buffer is a long operation.</p>