Index: client.py
===================================================================
--- client.py	(revision 32465)
+++ client.py	(working copy)
@@ -627,14 +627,14 @@
         SSL context objects for any SSL connections the agent needs to make.
 
     @ivar persistent: Set to C{True} when you use HTTP persistent connecton.
-    @type persistent: Boolean
+    @type persistent: C{bool}
 
-    @ivar maxConnections: Max number of HTTP connections per a server.  The
-        default value is 1.  This is effective only when the
+    @ivar maxConnectionsPerHostName: Max number of HTTP connections per a server.  The
+        default value is 2.  This is effective only when the
         C{self.persistent} is C{True}.
         RFC 2616 says "A single-user client SHOULD NOT maintain more than 2
         connections with any server or proxy."
-    @type maxConnections: C{int}
+    @type maxConnectionsPerHostName: C{int}
 
     @ivar _semaphores: A dictioinary mapping a tuple (scheme, host, port)
         to an instance of L{DeferredSemaphore}.  It is used to limit the
@@ -647,13 +647,14 @@
     @since: 9.0
     """
     _protocol = HTTP11ClientProtocol
-    maxConnections = 1
+    maxConnectionsPerHostName = 2
 
     def __init__(self, reactor, contextFactory=WebClientContextFactory(),
-                 persistent=False):
+                 persistent=False, maxConnectionsPerHostName=2):
         self._reactor = reactor
         self._contextFactory = contextFactory
         self.persistent = persistent
+        self.maxConnectionsPerHostName = maxConnectionsPerHostName
         self._semaphores = {}
         self._protocolCache = {}
 
@@ -739,7 +740,7 @@
         if self.persistent:
             sem = self._semaphores.get((scheme, host, port))
             if sem is None:
-                sem = defer.DeferredSemaphore(self.maxConnections)
+                sem = defer.DeferredSemaphore(self.maxConnectionsPerHostName)
                 self._semaphores[scheme, host, port] = sem
             return sem.run(self._request, method, scheme, host, port, path,
                            headers, bodyProducer)
@@ -808,7 +809,7 @@
                 # Previous connection is unavailable.
                 if f.check(ResponseFailed):
                     for reason in f.value.reasons:
-                        if (isinstance(reason, failure.Failure) and 
+                        if (isinstance(reason, failure.Failure) and
                             isinstance(reason.value, ConnectionDone)):
                             # Maybe timeout has been exeeded before I send
                             # the request. So I retry again.
