text: var common = require('../common');
  var assert = require('assert');
  var http = require('http');
  
  var agent = new http.Agent({
    keepAlive: true,
    keepAliveMsecs: 1000,
    maxSockets: 2,
    maxFreeSockets: 2
  });
  
  var server = http.createServer(function(req, res) {
    res.end('hello world');
  });
  
  function get(path, callback) {
    return http.get({
      host: 'localhost',
      port: common.PORT,
      agent: agent,
      path: path
    }, callback);
  }
  
  var count = 0;
  function done() {
    if (++count !== 2) {
      return;
    }
    var freepool = agent.freeSockets[Object.keys(agent.freeSockets)[0]];
    assert.equal(freepool.length, 2,
        'expect keep 2 free sockets, but got ' + freepool.length);
    agent.destroy();
    server.close();
  }
  
  server.listen(common.PORT, function() {
    get('/1', function(res) {
      assert.equal(res.statusCode, 200);
      res.resume();
      res.on('end', function() {
        process.nextTick(done);
      });
    });
  
    get('/2', function(res) {
      assert.equal(res.statusCode, 200);
      res.resume();
      res.on('end', function() {
        process.nextTick(done);
      });
    });
  });
  