Actually close the connection on disconnect, fixing #3.
[invirt/packages/invirt-vnc-client.git] / SocketWrapper.java
index 2920732..e488b28 100644 (file)
@@ -37,6 +37,7 @@ public abstract class SocketWrapper extends Socket {
     protected SocketWrapper(Socket delegate) throws SocketException {
         super(new WrappingSocketImpl(delegate));
         this.delegate = delegate;
+       System.out.println("Creating SocketWrapper $Rev$");
     }
 
     public SocketChannel getChannel() {
@@ -136,6 +137,7 @@ public abstract class SocketWrapper extends Socket {
         }
 
         protected void close() throws IOException {
+           System.out.println("Calling delegate.close");
             delegate.close();
         }
 
@@ -240,6 +242,11 @@ public abstract class SocketWrapper extends Socket {
         }
     }
 
+    public void close() throws IOException {
+       System.out.println("Calling SocketWrapper.delegate.close");
+       delegate.close();
+    }
+
     public boolean equals(Object obj) {
         if (!(obj instanceof SocketWrapper)) return false;
         SocketWrapper that = (SocketWrapper)obj;
@@ -249,4 +256,7 @@ public abstract class SocketWrapper extends Socket {
     public int hashCode() {
         return delegate.hashCode() ^ 0x01010101;
     }
+    public String toString() {
+       return "<SocketWrapper " + super.toString() + "(delegating to " + delegate.toString() +  ")" + ">";
+    }
 }
\ No newline at end of file