added Connection.getSocket
[org.ibex.io.git] / src / org / ibex / io / Connection.java
index bb7907b..5c8d148 100644 (file)
@@ -1,4 +1,7 @@
-// Copyright 2004 Adam Megacz, see the COPYING file for licensing [LGPL]
+// Copyright 2000-2005 the Contributors, as shown in the revision logs.
+// Licensed under the Apache Public Source License 2.0 ("the License").
+// You may not use this file except in compliance with the License.
+
 package org.ibex.io;
 
 import java.net.*;
@@ -10,11 +13,14 @@ public class Connection extends Stream {
     private final Socket s;
     public final String vhost;
     public Connection(Socket s, String vhost) { super(s); this.vhost = vhost; this.s = s; }
+    public Socket getSocket() { return s; }
+    public void close()                       { try{s.close();}catch(Exception e){throw new Stream.StreamException(e);} super.close(); }
     public int getLocalPort()                 { return s.getLocalPort(); }
+    public InetAddress getLocalAddress()      { return ((InetSocketAddress)s.getLocalSocketAddress()).getAddress(); }
     public int getRemotePort()                { return s.getPort(); }
     public InetAddress getRemoteAddress()     { return ((InetSocketAddress)s.getRemoteSocketAddress()).getAddress(); }
     public String getRemoteHostname()         { return getRemoteAddress().getHostName(); }
     public String getVirtualHost()            { return vhost; }
-    public void setTimeout(int ms)            { try { s.setSoTimeout(ms); } catch (Exception e){throw new StreamException(e); }}
-    public void setTcpNoDelay(boolean delay)  { try { s.setTcpNoDelay(delay);}catch(Exception e){throw new StreamException(e); }}
+    public void setTimeout(int ms)            { try { s.setSoTimeout(ms); } catch (Exception e){throw new Stream.StreamException(e); }}
+    public void setTcpNoDelay(boolean delay)  { try { s.setTcpNoDelay(delay);}catch(Exception e){throw new Stream.StreamException(e); }}
 }