diff options
Diffstat (limited to 'libjava/java/net/Socket.java')
-rw-r--r-- | libjava/java/net/Socket.java | 263 |
1 files changed, 0 insertions, 263 deletions
diff --git a/libjava/java/net/Socket.java b/libjava/java/net/Socket.java deleted file mode 100644 index 34ea165e51a..00000000000 --- a/libjava/java/net/Socket.java +++ /dev/null @@ -1,263 +0,0 @@ -// Socket.java - -/* Copyright (C) 1999 Free Software Foundation - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -/** - * @author Per Bothner <bothner@cygnus.com> - * @date January 6, 1999. - */ - -/** Written using on-line Java Platform 1.2 API Specification. - * Status: I believe all methods are implemented. - */ - -package java.net; -import java.io.*; - -public class Socket -{ - static SocketImplFactory factory; - SocketImpl impl; - - protected Socket () - { - } - - protected Socket (SocketImpl impl) throws SocketException - { - this.impl = impl; - } - - public Socket (String host, int port) - throws UnknownHostException, IOException - { - this(factory == null ? new PlainSocketImpl() : factory.createSocketImpl()); - SecurityManager s = System.getSecurityManager(); - if (s != null) - s.checkConnect(host, port); - impl.create(true); - // FIXME: JCL p. 1586 says if localPort is unspecified, bind to any port, - // i.e. '0' and if localAddr is unspecified, use getLocalAddress() as - // that default. JDK 1.2 doc infers not to do a bind. - impl.connect(host, port); - } - - public Socket (InetAddress address, int port) - throws IOException - { - this(factory == null ? new PlainSocketImpl() : factory.createSocketImpl()); - SecurityManager s = System.getSecurityManager(); - if (s != null) - s.checkConnect(address.getHostName(), port); - impl.create(true); - // FIXME: JCL p. 1586 says if localPort is unspecified, bind to any port, - // i.e. '0' and if localAddr is unspecified, use getLocalAddress() as - // that default. JDK 1.2 doc infers not to do a bind. - impl.connect(address, port); - } - - public Socket (String host, int port, - InetAddress localAddr, int localPort) throws IOException - { - this(factory == null ? new PlainSocketImpl() : factory.createSocketImpl()); - SecurityManager s = System.getSecurityManager(); - if (s != null) - s.checkConnect(host, port); - impl.create(true); - // FIXME: JCL p. 1587 says if localAddr is null, use getLocalAddress(). - impl.bind(localAddr, localPort); - impl.connect(host, port); - } - - public Socket (InetAddress address, int port, - InetAddress localAddr, int localPort) throws IOException - { - this(factory == null ? new PlainSocketImpl() : factory.createSocketImpl()); - SecurityManager s = System.getSecurityManager(); - if (s != null) - s.checkConnect(address.getHostName(), port); - impl.create(true); - // FIXME: JCL p. 1587 says if localAddr is null, use getLocalAddress(). - impl.bind(localAddr, localPort); - impl.connect(address, port); - } - - /** - * @deprecated Use DatagramSocket instead for UDP transport. - */ - public Socket (String host, int port, boolean stream) throws IOException - { - impl = factory == null ? new PlainSocketImpl() - : factory.createSocketImpl(); - impl.create(stream); - SecurityManager s = System.getSecurityManager(); - if (s != null) - s.checkConnect(host, port); - // FIXME: JCL p. 1586 says if localPort is unspecified, bind to any port, - // i.e. '0' and if localAddr is unspecified, use getLocalAddress() as - // that default. JDK 1.2 doc infers not to do a bind. - impl.connect(host, port); - } - - /** - * @deprecated Use DatagramSocket instead for UDP transport. - */ - public Socket (InetAddress host, int port, boolean stream) throws IOException - { - impl = factory == null ? new PlainSocketImpl() - : factory.createSocketImpl(); - impl.create(stream); - SecurityManager s = System.getSecurityManager(); - if (s != null) - s.checkConnect(host.getHostName(), port); - // FIXME: JCL p. 1586 says if localPort is unspecified, bind to any port, - // i.e. '0' and if localAddr is unspecified, use getLocalAddress() as - // that default. JDK 1.2 doc infers not to do a bind. - impl.connect(host, port); - } - - public InetAddress getInetAddress () - { - return impl.getInetAddress(); - } - - public InetAddress getLocalAddress () - { - // FIXME: see note in DatagramSocket.java about checkConnect() and security - try - { - return (InetAddress)impl.getOption(SocketOptions.SO_BINDADDR); - } - catch (SocketException x) - { - // (hopefully) shouldn't happen - System.err.println(x); - throw new java.lang.InternalError("Error in PlainSocketImpl.getOption"); - } - } - - public int getPort () - { - return impl.getPort(); - } - - public int getLocalPort () - { - return impl.getLocalPort(); - } - - public InputStream getInputStream () throws IOException - { - return impl.getInputStream(); - } - - public OutputStream getOutputStream () throws IOException - { - return impl.getOutputStream(); - } - - public void setTcpNoDelay (boolean on) throws SocketException - { - impl.setOption( SocketOptions.TCP_NODELAY, new Boolean(on) ); - } - - public boolean getTcpNoDelay() throws SocketException - { - Boolean bool = (Boolean)impl.getOption( SocketOptions.TCP_NODELAY ); - return bool.booleanValue(); - } - - public void setSoLinger(boolean on, int linger) throws SocketException - { - if ( on && (linger >= 0) ) - { - if (linger > 65535) - linger = 65535; - impl.setOption( SocketOptions.SO_LINGER, new Integer(linger) ); - } - else if ( on && (linger < 0) ) - throw new IllegalArgumentException("SO_LINGER must be >= 0"); - else - impl.setOption( SocketOptions.SO_LINGER, new Boolean(false) ); - } - - public int getSoLinger() throws SocketException - { - Object linger = impl.getOption(SocketOptions.SO_LINGER); - if (linger instanceof Integer) - return ((Integer)linger).intValue(); - else - return -1; - } - - public synchronized void setSoTimeout (int timeout) throws SocketException - { - if (timeout < 0) - throw new IllegalArgumentException("Invalid timeout: " + timeout); - - impl.setOption(SocketOptions.SO_TIMEOUT, new Integer(timeout)); - } - - public synchronized int getSoTimeout () throws SocketException - { - Object timeout = impl.getOption(SocketOptions.SO_TIMEOUT); - if (timeout instanceof Integer) - return ((Integer)timeout).intValue(); - else - return 0; - } - - // JDK1.2 - public void setSendBufferSize (int size) throws SocketException - { - if (size <= 0) - throw new IllegalArgumentException("Invalid buffer size: " + size); - - impl.setOption(SocketOptions.SO_SNDBUF, new Integer(size)); - } - - // JDK1.2 - public int getSendBufferSize () throws SocketException - { - Integer buf = (Integer)impl.getOption(SocketOptions.SO_SNDBUF); - return buf.intValue(); - } - - // JDK1.2 - public void setReceiveBufferSize (int size) throws SocketException - { - if (size <= 0) - throw new IllegalArgumentException("Invalid buffer size: " + size); - - impl.setOption(SocketOptions.SO_RCVBUF, new Integer(size)); - } - - // JDK1.2 - public int getReceiveBufferSize () throws SocketException - { - Integer buf = (Integer)impl.getOption(SocketOptions.SO_RCVBUF); - return buf.intValue(); - } - - public synchronized void close () throws IOException - { - impl.close(); - } - - public String toString () - { - return "Socket" + impl.toString(); - } - - public static synchronized void setSocketImplFactory (SocketImplFactory fac) - throws IOException - { - factory = fac; - } -} |