diff options
author | Jesse Luehrs <doy@tozt.net> | 2014-10-06 15:49:58 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2014-10-06 15:49:58 -0400 |
commit | adbfe49125bd21c25551e3d3dfd5c7bd311ca82f (patch) | |
tree | 790a69750fb1bed710223dfe81ea62604bf9e647 /termcast_server/web.py | |
parent | 3c51db7d3a67d65aa3585780d395377310401bfe (diff) | |
download | python-termcast-server-adbfe49125bd21c25551e3d3dfd5c7bd311ca82f.tar.gz python-termcast-server-adbfe49125bd21c25551e3d3dfd5c7bd311ca82f.zip |
try to send updates rather than the full screen on every frame
this is not a very intelligent method at the moment, but it should
(probably?) be an improvement over the current method. it probably fails
pretty miserably on scrolling though - need to figure out a better idea
for that.
Diffstat (limited to 'termcast_server/web.py')
-rw-r--r-- | termcast_server/web.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/termcast_server/web.py b/termcast_server/web.py index 8b9f9e3..1c64fd4 100644 --- a/termcast_server/web.py +++ b/termcast_server/web.py @@ -34,14 +34,21 @@ class WebSocketHandler(tornado.websocket.WebSocketHandler): def on_finish(self): self.publisher.unsubscribe(self) - def msg_new_data(self, connection_id, prev_buf, data, screen): + def msg_new_data(self, connection_id, prev_buf, data, screen, updates): if self.watching_id != connection_id: return - reply = { - "type": "update_screen", - "screen": screen, - } + if updates: + reply = { + "type": "update_screen", + "updates": updates, + } + else: + reply = { + "type": "redraw_screen", + "screen": screen, + } + try: self.write_message(json.dumps(reply)) except: |