comparison src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java @ 420:0ad52aac3bc3

Send repeat FramebufferUpdateRequest from Timer class
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Mon, 18 Jan 2016 17:37:58 +0900
parents 7e811f33b99d
children 752788fdae03
comparison
equal deleted inserted replaced
419:7e811f33b99d 420:0ad52aac3bc3
115 } 115 }
116 116
117 @Override 117 @Override
118 public void run() { 118 public void run() {
119 isRunning = true; 119 isRunning = true;
120 if (rfb.isTreeManager()) {
121 timer = new Timer("framebufferUpdate-request-timer", true);
122 timer.schedule(new TimerTask() {
123 @Override
124 public void run() {
125 context.sendMessage(new FramebufferUpdateRequestMessage(rfb.getX(), rfb.getY(), rfb.frameSizeWidth * rfb.getRetinaScale(), rfb.frameSizeHeight * rfb.getRetinaScale(), false));
126 }
127 }, 0, 100);
128 }
120 while (isRunning) { 129 while (isRunning) {
121 try { 130 try {
122 reader.available(); 131 reader.available();
123 if (! isRunning) { 132 if (! isRunning) {
124 // server Change in direct mode 133 // server Change in direct mode
356 context.setPixelFormat(pixelFormat); 365 context.setPixelFormat(pixelFormat);
357 context.sendMessage(new SetPixelFormatMessage(pixelFormat)); 366 context.sendMessage(new SetPixelFormatMessage(pixelFormat));
358 logger.fine("sent: " + pixelFormat); 367 logger.fine("sent: " + pixelFormat);
359 context.sendRefreshMessage(); 368 context.sendRefreshMessage();
360 logger.fine("sent: nonincremental fb update"); 369 logger.fine("sent: nonincremental fb update");
361 } else {
362 context.sendMessage(new FramebufferUpdateRequestMessage(rfb.getX(), rfb.getY(), rfb.getSingleWidth() * rfb.getRetinaScale(), rfb.getSingleHeight() * rfb.getRetinaScale(), false));
363 } 370 }
364 } 371 }
365 } 372 }
366 } 373 }
367 374
375 // context.sendMessage(new FramebufferUpdateRequestMessage(0, 0, 1, 1, false)); 382 // context.sendMessage(new FramebufferUpdateRequestMessage(0, 0, 1, 1, false));
376 } 383 }
377 384
378 public void stopTask() { 385 public void stopTask() {
379 isRunning = false; 386 isRunning = false;
387 if (timer != null) {
388 timer.cancel();
389 timer.purge();
390 }
380 } 391 }
381 392
382 private void connectionFinished() { 393 private void connectionFinished() {
383 rfb.vncConnected(true); 394 rfb.vncConnected(true);
384 } 395 }