Support for sync instruction

This commit is contained in:
Michael Jumper
2011-03-11 19:43:13 -08:00
parent 87c1b4b1e4
commit cace921202

View File

@@ -307,8 +307,39 @@ function GuacamoleClient(display, tunnel) {
};
image.src = "data:image/png;base64," + data
},
"sync": function(parameters) {
var timestamp = parameters[0];
// When all layers have finished rendering all instructions
// UP TO THIS POINT IN TIME, send sync response.
var layersToSync = 0;
function syncLayer() {
layersToSync--;
// Send sync response when layers are finished
if (layersToSync == 0)
tunnel.sendMessage("sync:" + timestamp + ";");
}
// Count active layers and install sync tracking hook
for (var i=0; i<layers.length; i++) {
var layer = layers[i];
if (layer) {
layersToSync++;
layer.sync(syncLayer);
}
}
},
};