Change in vdsm[master]: stomp: allow single stomp reactor

piotr.kliczewski at gmail.com piotr.kliczewski at gmail.com
Mon May 18 14:43:50 UTC 2015


Piotr Kliczewski has uploaded a new change for review.

Change subject: stomp: allow single stomp reactor
......................................................................

stomp: allow single stomp reactor


Signed-off-by: pkliczewski <piotr.kliczewski at gmail.com>
Change-Id: Ifdd7afef991d51c293d5624d936f8e689ccb8de4
---
M lib/yajsonrpc/stompReactor.py
M vdsm/rpc/BindingJsonRpc.py
2 files changed, 10 insertions(+), 12 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/70/41070/1

diff --git a/lib/yajsonrpc/stompReactor.py b/lib/yajsonrpc/stompReactor.py
index b12d7b6..04caf0f 100644
--- a/lib/yajsonrpc/stompReactor.py
+++ b/lib/yajsonrpc/stompReactor.py
@@ -422,7 +422,7 @@
 
     def __init__(self, json_binding):
         self.json_binding = json_binding
-        self._reactor = self.json_binding.createStompReactor()
+        self._reactor = self.json_binding.reactor
 
     def detect(self, data):
         return data.startswith(stomp.COMMANDS)
diff --git a/vdsm/rpc/BindingJsonRpc.py b/vdsm/rpc/BindingJsonRpc.py
index 826555e..ec078fc 100644
--- a/vdsm/rpc/BindingJsonRpc.py
+++ b/vdsm/rpc/BindingJsonRpc.py
@@ -31,7 +31,8 @@
 
     def __init__(self, bridge):
         self._server = JsonRpcServer(bridge, _simpleThreadFactory)
-        self._reactors = []
+        self._reactor = StompReactor()
+        self.startReactor()
 
     def add_socket(self, reactor, client_socket):
         reactor.createListener(client_socket, self._onAccept)
@@ -39,11 +40,9 @@
     def _onAccept(self, client):
         client.set_message_handler(self._server.queueRequest)
 
-    def createStompReactor(self):
-        reactor = StompReactor()
-        self._reactors.append(reactor)
-        self.startReactor(reactor)
-        return reactor
+    @property
+    def reactor(self):
+        return self._reactor
 
     def start(self):
         t = threading.Thread(target=self._server.serve_requests,
@@ -51,14 +50,13 @@
         t.setDaemon(True)
         t.start()
 
-    def startReactor(self, reactor):
-        reactorName = reactor.__class__.__name__
-        t = threading.Thread(target=reactor.process_requests,
+    def startReactor(self):
+        reactorName = self._reactor.__class__.__name__
+        t = threading.Thread(target=self._reactor.process_requests,
                              name='JsonRpc (%s)' % reactorName)
         t.setDaemon(True)
         t.start()
 
     def stop(self):
         self._server.stop()
-        for reactor in self._reactors:
-            reactor.stop()
+        self._reactor.stop()


-- 
To view, visit https://gerrit.ovirt.org/41070
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifdd7afef991d51c293d5624d936f8e689ccb8de4
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Piotr Kliczewski <piotr.kliczewski at gmail.com>


More information about the vdsm-patches mailing list