Changeset 8318ca0 in guacamole-common
- Timestamp:
- 03/26/12 14:34:42 (14 months ago)
- Branches:
- master, guacamole-debian-parent, unstable
- Children:
- 2469313
- Parents:
- ff3b9d9
- git-author:
- Michael Jumper <zhangmaike@…> (03/26/12 14:34:42)
- git-committer:
- Michael Jumper <zhangmaike@…> (03/26/12 14:34:42)
- Location:
- src/main/java/net/sourceforge/guacamole
- Files:
-
- 5 edited
-
net/GuacamoleSocket.java (modified) (1 diff)
-
net/GuacamoleTunnel.java (modified) (3 diffs)
-
net/InetGuacamoleSocket.java (modified) (1 diff)
-
protocol/ConfiguredGuacamoleSocket.java (modified) (1 diff)
-
servlet/GuacamoleHTTPTunnelServlet.java (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/main/java/net/sourceforge/guacamole/net/GuacamoleSocket.java
r14c86c9 r8318ca0 77 77 public void close() throws GuacamoleException; 78 78 79 /** 80 * Returns whether this GuacamoleSocket is open and can be used for reading 81 * and writing. 82 * 83 * @return true if this GuacamoleSocket is open, false otherwise. 84 */ 85 public boolean isOpen(); 86 79 87 } -
src/main/java/net/sourceforge/guacamole/net/GuacamoleTunnel.java
r14c86c9 r8318ca0 57 57 private ReentrantLock readerLock; 58 58 private ReentrantLock writerLock; 59 60 private boolean open = true; 59 61 60 62 /** … … 148 150 149 151 /** 152 * Returns the GuacamoleSocket used by this GuacamoleTunnel for reading 153 * and writing. 154 * 155 * @return The GuacamoleSocket used by this GuacamoleTunnel. 156 */ 157 public GuacamoleSocket getSocket() { 158 return socket; 159 } 160 161 /** 150 162 * Release all resources allocated to this GuacamoleTunnel. 151 163 * … … 157 169 } 158 170 171 /** 172 * Returns whether this GuacamoleTunnel is open, or has been closed. 173 * 174 * @return true if this GuacamoleTunnel is open, false if it is closed. 175 */ 176 public boolean isOpen() { 177 return socket.isOpen(); 178 } 179 159 180 } -
src/main/java/net/sourceforge/guacamole/net/InetGuacamoleSocket.java
r86d0730 r8318ca0 133 133 } 134 134 135 @Override 136 public boolean isOpen() { 137 return !sock.isClosed(); 138 } 139 135 140 136 141 } -
src/main/java/net/sourceforge/guacamole/protocol/ConfiguredGuacamoleSocket.java
r14c86c9 r8318ca0 122 122 } 123 123 124 @Override 125 public boolean isOpen() { 126 return socket.isOpen(); 127 } 128 124 129 } -
src/main/java/net/sourceforge/guacamole/servlet/GuacamoleHTTPTunnelServlet.java
r1f1174a r8318ca0 228 228 GuacamoleSession session = new GuacamoleSession(httpSession); 229 229 230 // Get tunnel, ensure tunnel exists 230 231 GuacamoleTunnel tunnel = session.getTunnel(tunnelUUID); 231 232 if (tunnel == null) 232 233 throw new GuacamoleResourceNotFoundException("No such tunnel."); 233 234 235 // Ensure tunnel is open 236 if (!tunnel.isOpen()) 237 throw new GuacamoleResourceNotFoundException("Tunnel is closed."); 238 234 239 // Obtain exclusive read access 235 240 GuacamoleReader reader = tunnel.acquireReader(); … … 266 271 break; 267 272 268 } while ( (message = reader.read()) != null);273 } while (tunnel.isOpen() && (message = reader.read()) != null); 269 274 270 275 // Close tunnel immediately upon EOF … … 341 346 342 347 int length; 343 while ((length = input.read(buffer, 0, buffer.length)) != -1) 348 while (tunnel.isOpen() && 349 (length = input.read(buffer, 0, buffer.length)) != -1) 344 350 writer.write(buffer, 0, length); 345 351
Note: See TracChangeset
for help on using the changeset viewer.
