summaryrefslogtreecommitdiffstats
path: root/openstack
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-12-12 20:48:58 +0000
committerGerrit Code Review <review@openstack.org>2012-12-12 20:48:58 +0000
commit91c9631bd3e3a0c72b36840ddf90e1db483f9a14 (patch)
treeba43b8d8757de7e3063566de9ac02bc5b2d4b090 /openstack
parente6c576d9b08e96b0dcd6b630eefa84fa1bec9f16 (diff)
parent1438ac6107865f1440a6d6aea82c602f84898203 (diff)
downloadoslo-91c9631bd3e3a0c72b36840ddf90e1db483f9a14.tar.gz
oslo-91c9631bd3e3a0c72b36840ddf90e1db483f9a14.tar.xz
oslo-91c9631bd3e3a0c72b36840ddf90e1db483f9a14.zip
Merge "Make wsgi.Server comply with service.Launcher interface"
Diffstat (limited to 'openstack')
-rw-r--r--openstack/common/wsgi.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/openstack/common/wsgi.py b/openstack/common/wsgi.py
index 60b14ef..f52fca0 100644
--- a/openstack/common/wsgi.py
+++ b/openstack/common/wsgi.py
@@ -55,27 +55,32 @@ class Service(service.Service):
Launcher classes in service.py.
"""
- def __init__(self, threads=1000):
+ def __init__(self, application, port,
+ host='0.0.0.0', backlog=128, threads=1000):
+ self.application = application
+ self._port = port
+ self._host = host
+ self.backlog = backlog
super(Service, self).__init__(threads)
- def start(self, application, port, host='0.0.0.0', backlog=128):
+ def start(self):
"""Start serving this service using the provided server instance.
:returns: None
"""
super(Service, self).start()
- socket = eventlet.listen((host, port), backlog=backlog)
- (self._host, self._port) = socket.getsockname()
- self.tg.add_thread(self._run, application, socket)
+ self._socket = eventlet.listen((self._host, self._port),
+ backlog=self.backlog)
+ self.tg.add_thread(self._run, self.application, self._socket)
@property
def host(self):
- return self._host
+ return self._socket.getsockname()[0] if self._socket else self._host
@property
def port(self):
- return self._port
+ return self._socket.getsockname()[1] if self._socket else self._port
def stop(self):
"""Stop serving this API.