comparison src/main/java/com/glavsoft/rfb/protocol/SenderTask.java @ 419:7e811f33b99d

Adhoc implement multi display
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Fri, 01 Jan 2016 02:39:25 +0900
parents 1f86df6504b7
children 0ad52aac3bc3
comparison
equal deleted inserted replaced
418:0543c380308c 419:7e811f33b99d
24 24
25 package com.glavsoft.rfb.protocol; 25 package com.glavsoft.rfb.protocol;
26 26
27 import com.glavsoft.exceptions.TransportException; 27 import com.glavsoft.exceptions.TransportException;
28 import com.glavsoft.rfb.client.ClientToServerMessage; 28 import com.glavsoft.rfb.client.ClientToServerMessage;
29 import com.glavsoft.rfb.client.FramebufferUpdateRequestMessage;
29 import com.glavsoft.transport.Writer; 30 import com.glavsoft.transport.Writer;
30 31
31 import java.io.PrintWriter; 32 import java.io.PrintWriter;
32 import java.io.StringWriter; 33 import java.io.StringWriter;
33 import java.util.logging.Logger; 34 import java.util.logging.Logger;
55 } 56 }
56 57
57 @Override 58 @Override
58 public void run() { 59 public void run() {
59 isRunning = true; 60 isRunning = true;
61 boolean refresh = false;
60 while (isRunning) { 62 while (isRunning) {
61 ClientToServerMessage message; 63 ClientToServerMessage message;
62 try { 64 try {
63 message = queue.get(); 65 message = queue.get();
64 if (message != null) { 66 if (message != null) {
65 message.send(writer); 67 message.send(writer);
68 refresh = false;
69 } else if (refresh && protocolContext.getRfb().isTreeManager()) {
70 protocolContext.sendRefreshMessage();
71 refresh = false;
72 } else {
73 refresh = true;
66 } 74 }
67 } catch (InterruptedException e) { 75 } catch (InterruptedException e) {
68 System.out.println("cannot get ClientToServerMessage."); 76 System.out.println("cannot get ClientToServerMessage.");
69 } catch (TransportException e) { 77 } catch (TransportException e) {
70 System.out.println("cannot send ClientToServerMessage."); 78 System.out.println("cannot send ClientToServerMessage.");