'Return a persistent connection to the pool. This will be called by
L{HTTP11ClientProtocol} when the connection becomes quiescent.'

def _putConnection(self, key, connection):

    if (connection.state != 'QUIESCENT'):
        try:
            raise RuntimeError('BUG:    Non-quiescent    protocol    added    to    connection    pool.')
        except:
            log.err()
        return
    connections = self._connections.setdefault(key, [])
    if (len(connections) == self.maxPersistentPerHost):
        dropped = connections.pop(0)
        dropped.transport.loseConnection()
        self._timeouts[dropped].cancel()
        del self._timeouts[dropped]
    connections.append(connection)
    cid = self._reactor.callLater(self.cachedConnectionTimeout, self._removeConnection, key, connection)
    self._timeouts[connection] = cid
