Mercurial > hg > Applications > TreeVNC
comparison src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java @ 393:319447659dc6
Change reader process for server change in direct mode
author | innparusu |
---|---|
date | Wed, 23 Sep 2015 20:50:29 +0900 |
parents | 6a8b661367c6 |
children | a8610fab6861 |
comparison
equal
deleted
inserted
replaced
392:11e272c12092 | 393:319447659dc6 |
---|---|
121 @Override | 121 @Override |
122 public void run() { | 122 public void run() { |
123 isRunning = true; | 123 isRunning = true; |
124 while (isRunning) { | 124 while (isRunning) { |
125 try { | 125 try { |
126 reader.available(); | |
127 if (! isRunning) { | |
128 // server Change in direct mode | |
129 // pass the input stream to the TreeVNC protocol reader | |
130 return; | |
131 } | |
126 if(! rfb.isTreeManager() && rfb.isAddSerialNum()) { | 132 if(! rfb.isTreeManager() && rfb.isAddSerialNum()) { |
127 // client has 8byte packet sequence number | 133 // client has 8byte packet sequence number |
128 // add serial number flag (4byte) | 134 // add serial number flag (4byte) |
129 reader.mark(20+8+4); | 135 reader.mark(20+8+4); |
130 getLost(reader); //check seq consistency | 136 getLost(reader); //check seq consistency |
131 } else { | 137 } else { |
132 reader.mark(20); | 138 reader.mark(20); |
133 } | 139 } |
140 | |
134 byte messageId = reader.readByte(); | 141 byte messageId = reader.readByte(); |
135 switch (messageId) { | 142 switch (messageId) { |
136 case FRAMEBUFFER_UPDATE: | 143 case FRAMEBUFFER_UPDATE: |
137 // logger.fine("Server message: FramebufferUpdate (0)"); | 144 // logger.fine("Server message: FramebufferUpdate (0)"); |
138 framebufferUpdateMessage(); | 145 framebufferUpdateMessage(); |