aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/net/Socket.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/net/Socket.java')
-rw-r--r--libjava/java/net/Socket.java263
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;
- }
-}