X-Git-Url: http://average.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gps303%2Fcollector.py;h=de65394d4f4b5eefb0527bea384746cea5d5b2a0;hb=0c28fa6306f252934fe7e2c04522e8540c414387;hp=e63da322f6ef1fb7c5f5da11d945c610aa135958;hpb=5e1e7a4d37a1e149d5e899dada7b55a863cd8e64;p=loctrkd.git diff --git a/gps303/collector.py b/gps303/collector.py index e63da32..de65394 100644 --- a/gps303/collector.py +++ b/gps303/collector.py @@ -167,14 +167,6 @@ def runserver(conf): try: msg = zpull.recv(zmq.NOBLOCK) zmsg = Resp(msg) - zpub.send( - Bcast( - is_incoming=False, - proto=proto_of_message(zmsg.packet), - imei=zmsg.imei, - packet=zmsg.packet, - ).packed - ) tosend.append(zmsg) except zmq.Again: break @@ -209,8 +201,8 @@ def runserver(conf): tostop.append(sk) respmsg = inline_response(packet) if respmsg is not None: - clients.response( - Resp(imei=imei, packet=respmsg) + tosend.append( + Resp(imei=imei, when=when, packet=respmsg) ) else: log.debug("Stray event: %s on socket %s", fl, sk) @@ -219,6 +211,15 @@ def runserver(conf): poller.unregister(fd) clients.stop(fd) for zmsg in tosend: + zpub.send( + Bcast( + is_incoming=False, + proto=proto_of_message(zmsg.packet), + when=zmsg.when, + imei=zmsg.imei, + packet=zmsg.packet, + ).packed + ) log.debug("Sending to the client: %s", zmsg) clients.response(zmsg) for clntsock, clntaddr in topoll: