From linuxhippy at gmail.com Thu Sep 1 07:32:12 2011 From: linuxhippy at gmail.com (Clemens Eisserer) Date: Thu, 1 Sep 2011 16:32:12 +0200 Subject: WebSocket based prototype Message-ID: Hi again, Out of curiosity I hacked together a websocket based prototype the last few days - its really only a prototype. Its amazing what WebSockets do in high-latency environments - SwingSet2 was almost unuseable over my UMTS connection (~130ms ping), while now even moving windows feels almost smooth. Downside is, there is almost no browser support, and (suprise, surprise) binary data transfer doesn't work (yet). It also shows the hard work put into damage-tracking, and scrolling-optimizations actually work, if there wasn't that horrible latency burden of HTTP. In the case you are curious: http://icedrobot.de:9092/SessionInitializer?cls=SwingSet2&format=base64_png&clevel=9 (only tested with Chrome14) lg -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/caciocavallo-dev/attachments/20110901/09a6fcad/attachment.html From roman at kennke.org Thu Sep 1 09:09:21 2011 From: roman at kennke.org (=?utf-8?B?Um9tYW4gS2Vubmtl?=) Date: Thu, 01 Sep 2011 18:09:21 +0200 Subject: =?utf-8?B?QW50dy46IFdlYlNvY2tldCBiYXNlZCBwcm90b3R5cGU=?= Message-ID: <20110901160926.B43A46A90@mail.openjdk.java.net> You rock! Holiday greetings from the Baltic sea, Roman Gesendet mit meinem HTC ----- Reply message ----- Von: "Clemens Eisserer" Datum: Do., Sep. 1, 2011 16:32 Betreff: WebSocket based prototype An: Hi again, Out of curiosity I hacked together a websocket based prototype the last few days - its really only a prototype. Its amazing what WebSockets do in high-latency environments - SwingSet2 was almost unuseable over my UMTS connection (~130ms ping), while now even moving windows feels almost smooth. Downside is, there is almost no browser support, and (suprise, surprise) binary data transfer doesn't work (yet). It also shows the hard work put into damage-tracking, and scrolling-optimizations actually work, if there wasn't that horrible latency burden of HTTP. In the case you are curious: http://icedrobot.de:9092/SessionInitializer?cls=SwingSet2&format=base64_png&clevel=9 (only tested with Chrome14) lg -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/caciocavallo-dev/attachments/20110901/53d9fea1/attachment.html From linuxhippy at gmail.com Thu Sep 1 11:51:48 2011 From: linuxhippy at gmail.com (linuxhippy at gmail.com) Date: Thu, 01 Sep 2011 18:51:48 +0000 Subject: hg: caciocavallo/ng: fix base64 backend, BufferedImage was assigned to local instead of global variable Message-ID: <20110901185149.4295B472B4@hg.openjdk.java.net> Changeset: c08d6dce76a5 Author: ceisserer Date: 2011-09-01 22:27 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/c08d6dce76a5 fix base64 backend, BufferedImage was assigned to local instead of global variable ! src/web/classes/net/java/openjdk/cacio/servlet/transport/Base64PngTransport.java From linuxhippy at gmail.com Fri Sep 2 14:29:19 2011 From: linuxhippy at gmail.com (linuxhippy at gmail.com) Date: Fri, 02 Sep 2011 21:29:19 +0000 Subject: hg: caciocavallo/ng: 6 new changesets Message-ID: <20110902212920.9B21047323@hg.openjdk.java.net> Changeset: 08adf060007a Author: ceisserer Date: 2011-09-02 19:39 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/08adf060007a Move sub-session handling completly into WebSessionManager ! src/web/classes/net/java/openjdk/cacio/servlet/AppStartServlet.java ! src/web/classes/net/java/openjdk/cacio/servlet/EventReceiveServlet.java ! src/web/classes/net/java/openjdk/cacio/servlet/ImageStreamer.java ! src/web/classes/net/java/openjdk/cacio/servlet/SessionInitializeServlet.java - src/web/classes/net/java/openjdk/cacio/servlet/SubSessionServletBase.java ! src/web/classes/net/java/openjdk/cacio/servlet/WebSessionManager.java Changeset: 4c89d07d740b Author: ceisserer Date: 2011-09-02 19:46 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/4c89d07d740b move event-data parsing out of servlet into its own class + src/web/classes/net/java/openjdk/awt/peer/web/WebEventManager.java ! src/web/classes/net/java/openjdk/awt/peer/web/WebSessionState.java ! src/web/classes/net/java/openjdk/cacio/servlet/EventReceiveServlet.java Changeset: c72acd2cdee6 Author: ceisserer Date: 2011-09-02 20:18 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/c72acd2cdee6 refactor data transfer, so that it doesn't depends on writing to an OutputStream ! src/web/classes/net/java/openjdk/awt/peer/web/WebScreen.java ! src/web/classes/net/java/openjdk/awt/peer/web/WebSessionState.java ! src/web/classes/net/java/openjdk/cacio/servlet/EventReceiveServlet.java ! src/web/classes/net/java/openjdk/cacio/servlet/ImageStreamer.java ! src/web/classes/net/java/openjdk/cacio/servlet/transport/Base64PngTransport.java ! src/web/classes/net/java/openjdk/cacio/servlet/transport/BinaryPngTransport.java ! src/web/classes/net/java/openjdk/cacio/servlet/transport/BinaryRLETransport.java ! src/web/classes/net/java/openjdk/cacio/servlet/transport/BinaryTransport.java ! src/web/classes/net/java/openjdk/cacio/servlet/transport/ImageTransport.java ! src/web/classes/net/java/openjdk/cacio/servlet/transport/Transport.java Changeset: 7cc20d2b59c7 Author: ceisserer Date: 2011-09-02 20:22 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/7cc20d2b59c7 move http based event streaming into seperate file + src/web/servlet/HttpEventStreamer.js ! src/web/servlet/StreamBase.html Changeset: 2d59e2b309a2 Author: ceisserer Date: 2011-09-02 20:33 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/2d59e2b309a2 use multiple simultaneous XmlHttpRequests to stream event data up to the server to decrease latency, requires ordering the events on the server-side ! src/web/classes/net/java/openjdk/awt/peer/web/WebEventManager.java ! src/web/classes/net/java/openjdk/awt/peer/web/WebSessionState.java ! src/web/classes/net/java/openjdk/cacio/servlet/EventReceiveServlet.java ! src/web/servlet/HttpEventStreamer.js Changeset: 59aa61fb8be7 Author: ceisserer Date: 2011-09-03 01:04 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/59aa61fb8be7 big welcome to our new websocket support ! src/web/classes/net/java/openjdk/awt/peer/web/WebSessionState.java ! src/web/classes/net/java/openjdk/cacio/server/CacioServer.java ! src/web/classes/net/java/openjdk/cacio/servlet/AppContextCreator.java ! src/web/classes/net/java/openjdk/cacio/servlet/WebSessionManager.java + src/web/classes/net/java/openjdk/cacio/servlet/WebSocketServlet.java + src/web/classes/net/java/openjdk/cacio/servlet/WebSocketStreamThread.java ! src/web/classes/net/java/openjdk/cacio/servlet/transport/Base64PngTransport.java ! src/web/servlet/HttpEventStreamer.js ! src/web/servlet/StreamBase.html + src/web/servlet/WSBase64Transport.js + src/web/servlet/WebSocketEventStreamer.js + src/web/servlet/WebSocketShared.js ! src/web/servlet/XHRBase64Transport.js From linuxhippy at gmail.com Wed Sep 14 00:18:25 2011 From: linuxhippy at gmail.com (linuxhippy at gmail.com) Date: Wed, 14 Sep 2011 07:18:25 +0000 Subject: hg: caciocavallo/ng: small doc update, we cacio-web requires jetty >= 8.0.1 for websocket backend Message-ID: <20110914071826.6BB2547677@hg.openjdk.java.net> Changeset: 6b797129c561 Author: ceisserer Date: 2011-09-14 09:01 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/6b797129c561 small doc update, we cacio-web requires jetty >= 8.0.1 for websocket backend ! README