summaryrefslogtreecommitdiff
path: root/docker/transport
diff options
context:
space:
mode:
Diffstat (limited to 'docker/transport')
-rw-r--r--docker/transport/npipeconn.py10
-rw-r--r--docker/transport/unixconn.py20
2 files changed, 19 insertions, 11 deletions
diff --git a/docker/transport/npipeconn.py b/docker/transport/npipeconn.py
index 736ddf6..917fa8b 100644
--- a/docker/transport/npipeconn.py
+++ b/docker/transport/npipeconn.py
@@ -1,6 +1,7 @@
import six
import requests.adapters
+from .. import constants
from .npipesocket import NpipeSocket
if six.PY3:
@@ -33,9 +34,9 @@ class NpipeHTTPConnection(httplib.HTTPConnection, object):
class NpipeHTTPConnectionPool(urllib3.connectionpool.HTTPConnectionPool):
- def __init__(self, npipe_path, timeout=60):
+ def __init__(self, npipe_path, timeout=60, maxsize=10):
super(NpipeHTTPConnectionPool, self).__init__(
- 'localhost', timeout=timeout
+ 'localhost', timeout=timeout, maxsize=maxsize
)
self.npipe_path = npipe_path
self.timeout = timeout
@@ -47,11 +48,12 @@ class NpipeHTTPConnectionPool(urllib3.connectionpool.HTTPConnectionPool):
class NpipeAdapter(requests.adapters.HTTPAdapter):
- def __init__(self, base_url, timeout=60):
+ def __init__(self, base_url, timeout=60,
+ num_pools=constants.DEFAULT_NUM_POOLS):
self.npipe_path = base_url.replace('npipe://', '')
self.timeout = timeout
self.pools = RecentlyUsedContainer(
- 10, dispose_func=lambda p: p.close()
+ num_pools, dispose_func=lambda p: p.close()
)
super(NpipeAdapter, self).__init__()
diff --git a/docker/transport/unixconn.py b/docker/transport/unixconn.py
index e09b6bf..b7905a0 100644
--- a/docker/transport/unixconn.py
+++ b/docker/transport/unixconn.py
@@ -2,6 +2,8 @@ import six
import requests.adapters
import socket
+from .. import constants
+
if six.PY3:
import http.client as httplib
else:
@@ -12,6 +14,7 @@ try:
except ImportError:
import urllib3
+
RecentlyUsedContainer = urllib3._collections.RecentlyUsedContainer
@@ -32,28 +35,31 @@ class UnixHTTPConnection(httplib.HTTPConnection, object):
class UnixHTTPConnectionPool(urllib3.connectionpool.HTTPConnectionPool):
- def __init__(self, base_url, socket_path, timeout=60):
+ def __init__(self, base_url, socket_path, timeout=60, maxsize=10):
super(UnixHTTPConnectionPool, self).__init__(
- 'localhost', timeout=timeout
+ 'localhost', timeout=timeout, maxsize=maxsize
)
self.base_url = base_url
self.socket_path = socket_path
self.timeout = timeout
def _new_conn(self):
- return UnixHTTPConnection(self.base_url, self.socket_path,
- self.timeout)
+ return UnixHTTPConnection(
+ self.base_url, self.socket_path, self.timeout
+ )
class UnixAdapter(requests.adapters.HTTPAdapter):
- def __init__(self, socket_url, timeout=60):
+ def __init__(self, socket_url, timeout=60,
+ num_pools=constants.DEFAULT_NUM_POOLS):
socket_path = socket_url.replace('http+unix://', '')
if not socket_path.startswith('/'):
socket_path = '/' + socket_path
self.socket_path = socket_path
self.timeout = timeout
- self.pools = RecentlyUsedContainer(10,
- dispose_func=lambda p: p.close())
+ self.pools = RecentlyUsedContainer(
+ num_pools, dispose_func=lambda p: p.close()
+ )
super(UnixAdapter, self).__init__()
def get_connection(self, url, proxies=None):