Francesco Romani has posted comments on this change.

Change subject: stomp: client side subscription
......................................................................


Patch Set 16:

(7 comments)

initial review, I need (much) more time to properly understand this big and 
complex patch.

https://gerrit.ovirt.org/#/c/36368/16//COMMIT_MSG
Commit Message:

Line 7: stomp: client side subscription
Line 8: 
Line 9: In this patch we introduce concept of subscription for client
Line 10: perspective. We move queuing functionality out of AsyncDispatcher to
Line 11: frame_handler. New StompRpcClient class is repsonsible for sending
typo: "repsonsible" vs "responsible"
Line 12: subscriptions and ClientRpcTransportAdapter class adds 'reply-to' 
header
Line 13: using subscriptions id.
Line 14: 
Line 15: 


https://gerrit.ovirt.org/#/c/36368/16/lib/yajsonrpc/stomp.py
File lib/yajsonrpc/stomp.py:

Line 51:     ERROR = "ERROR"
Line 52:     RECEIPT = "RECEIPT"
Line 53: 
Line 54: 
Line 55: class Headers:
even though for enumeration-like classes is no harm, we should always innherit 
from object until we switch to python 3.
Line 56:     CONTENT_LENGTH = "content-length"
Line 57:     CONTENT_TYPE = "content-type"
Line 58:     SUBSCRIPTION = "subscription"
Line 59:     DESTINATION = "destination"


Line 505:         return sub
Line 506: 
Line 507:     def unsubscribe(self, sub):
Line 508:         self.queue_frame(Frame(Command.UNSUBSCRIBE,
Line 509:                                {"id": sub.id}))
Who cleans self._subscriptions ?
Line 510: 
Line 511: 
Line 512: class _Subscription(object):
Line 513: 


https://gerrit.ovirt.org/#/c/36368/16/lib/yajsonrpc/stompReactor.py
File lib/yajsonrpc/stompReactor.py:

Line 97:                 cy = max(cy, 1000)
Line 98: 
Line 99:             # The server can send a heart-beat every cy ms and doesn't 
want
Line 100:             # to receive any heart-beat from the client.
Line 101:             resp.headers["heart-beat"] = "%d,0" % (cy,)
minor nit: no need of use a tuple here for 'cy', this should work fine and save 
a few characters:

  resp.headers["heart-beat"] = "%d,0" % cy

If you want to do this change, let's do in a (far) future different patch.
Line 102:             dispatcher.setHeartBeat(cy)
Line 103: 
Line 104:         self.queue_frame(resp)
Line 105:         self._reactor.wakeup()


Line 127:         self._socket = sock
Line 128:         self._reactor = reactor
Line 129:         self._messageHandler = None
Line 130: 
Line 131:         self._aclient = aclient
maybe _async_client is a bit more explanatory here
Line 132:         adisp = self._adisp = stomp.AsyncDispatcher(aclient)
Line 133:         self._dispatcher = Dispatcher(adisp, sock=sock, 
map=reactor._map)
Line 134: 
Line 135:     def send_raw(self, msg):


Line 198:         return self._socket.getsockname()[0]
Line 199: 
Line 200: 
Line 201: class StompClient(object):
Line 202:     log = logging.getLogger("jsonrpc.AsyncoreClient")
for a future patch: this seems to get a stale logger now.
Line 203: 
Line 204:     def __init__(self, sock, reactor):
Line 205:         self._reactor = reactor
Line 206:         self._messageHandler = None


Line 219: 
Line 220:     def connect(self):
Line 221:         self._stompConn.connect()
Line 222: 
Line 223:     def handle_message(self, sub, frame):
why renamed? moreover, it seems unused (also in the old code)
Line 224:         if self._messageHandler is not None:
Line 225:             self._messageHandler((self, frame.body))
Line 226: 
Line 227:     def setMessageHandler(self, msgHandler):


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I8e43658f1cebd637ea3abf4396d388afa041ae71
Gerrit-PatchSet: 16
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Saggi Mizrahi <smizr...@redhat.com>
Gerrit-Reviewer: Dima Kuznetsov <dkuzn...@redhat.com>
Gerrit-Reviewer: Francesco Romani <from...@redhat.com>
Gerrit-Reviewer: Piotr Kliczewski <piotr.kliczew...@gmail.com>
Gerrit-Reviewer: Yaniv Bronhaim <ybron...@redhat.com>
Gerrit-Reviewer: Yaniv Bronheim <ybron...@redhat.com>
Gerrit-Reviewer: Yeela Kaplan <ykap...@redhat.com>
Gerrit-Reviewer: automat...@ovirt.org
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
_______________________________________________
vdsm-patches mailing list
vdsm-patches@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches

Reply via email to