Changeset 8318ca0 in guacamole-common


Ignore:
Timestamp:
03/26/12 14:34:42 (14 months ago)
Author:
zhangmaike
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)
Message:

Add isOpen() to socket and tunnel. Add getSocket() to tunnel.

Location:
src/main/java/net/sourceforge/guacamole
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • src/main/java/net/sourceforge/guacamole/net/GuacamoleSocket.java

    r14c86c9 r8318ca0  
    7777    public void close() throws GuacamoleException; 
    7878 
     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 
    7987} 
  • src/main/java/net/sourceforge/guacamole/net/GuacamoleTunnel.java

    r14c86c9 r8318ca0  
    5757    private ReentrantLock readerLock; 
    5858    private ReentrantLock writerLock; 
     59 
     60    private boolean open = true; 
    5961 
    6062    /** 
     
    148150 
    149151    /** 
     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    /** 
    150162     * Release all resources allocated to this GuacamoleTunnel. 
    151163     *  
     
    157169    } 
    158170 
     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     
    159180} 
  • src/main/java/net/sourceforge/guacamole/net/InetGuacamoleSocket.java

    r86d0730 r8318ca0  
    133133    } 
    134134 
     135    @Override 
     136    public boolean isOpen() { 
     137        return !sock.isClosed(); 
     138    } 
     139     
    135140 
    136141} 
  • src/main/java/net/sourceforge/guacamole/protocol/ConfiguredGuacamoleSocket.java

    r14c86c9 r8318ca0  
    122122    } 
    123123 
     124    @Override 
     125    public boolean isOpen() { 
     126        return socket.isOpen(); 
     127    } 
     128 
    124129} 
  • src/main/java/net/sourceforge/guacamole/servlet/GuacamoleHTTPTunnelServlet.java

    r1f1174a r8318ca0  
    228228        GuacamoleSession session = new GuacamoleSession(httpSession); 
    229229 
     230        // Get tunnel, ensure tunnel exists 
    230231        GuacamoleTunnel tunnel = session.getTunnel(tunnelUUID); 
    231232        if (tunnel == null) 
    232233            throw new GuacamoleResourceNotFoundException("No such tunnel."); 
    233234 
     235        // Ensure tunnel is open 
     236        if (!tunnel.isOpen()) 
     237            throw new GuacamoleResourceNotFoundException("Tunnel is closed."); 
     238         
    234239        // Obtain exclusive read access 
    235240        GuacamoleReader reader = tunnel.acquireReader(); 
     
    266271                    break; 
    267272 
    268             } while ((message = reader.read()) != null); 
     273            } while (tunnel.isOpen() && (message = reader.read()) != null); 
    269274 
    270275            // Close tunnel immediately upon EOF 
     
    341346 
    342347            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) 
    344350                writer.write(buffer, 0, length); 
    345351 
Note: See TracChangeset for help on using the changeset viewer.