* java/net/DatagramSocketImpl.java: Merge with Classpath
authorMark Wielaard <mark@klomp.org>
Tue, 9 Oct 2001 17:40:13 +0000 (17:40 +0000)
committerMark Wielaard <mark@gcc.gnu.org>
Tue, 9 Oct 2001 17:40:13 +0000 (17:40 +0000)
From-SVN: r46127

libjava/ChangeLog
libjava/java/net/DatagramSocketImpl.java

index ff7bbf64988c7229e3fbb45c5a4d2952716a620f..6a7b6cc08f54849c3990294cffdb2cd4f02dd6cc 100644 (file)
@@ -1,3 +1,7 @@
+2001-10-08  Mark Wielaard  <mark@klomp.org>
+
+       * java/net/DatagramSocketImpl.java: Merge with Classpath
+
 2001-10-07  Mark Wielaard  <mark@klomp.org>
 
        * java/net/URLDecoder.java: Remerge with Classpath
index 0d1cab7904e303deaca206f290ab79fba3cbd49a..17d0119453e35e4412469cd0659c3a3fd86582e3 100644 (file)
-// DatagramSocketImpl.java - Abstract datagram socket implementation.
+/* DatagramSocketImpl.java -- Abstract class for UDP socket implementations
+   Copyright (C) 1998, 1999 2000, 2001 Free Software Foundation, Inc.
 
-/* Copyright (C) 1999  Free Software Foundation
+This file is part of GNU Classpath.
 
-   This file is part of libgcj.
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+As a special exception, if you link this library with other files to
+produce an executable, this library does not by itself cause the
+resulting executable to be covered by the GNU General Public License.
+This exception does not however invalidate any other reasons why the
+executable file might be covered by the GNU General Public License. */
 
-This software is copyrighted work licensed under the terms of the
-Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
-details.  */
 
 package java.net;
+
 import java.io.IOException;
 import java.io.FileDescriptor;
 
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date May 3, 1999.
- */
-
 /**
  * Written using on-line Java Platform 1.2 API Specification, as well
  * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
  * Status:  Believed complete and correct.
  */
 
+/**
+ * This abstract class models a datagram socket implementation.  An
+ * actual implementation class would implement these methods, probably
+ * via redirecting them to native code.
+ *
+ * @author Aaron M. Renn (arenn@urbanophile.com)
+ * @author Warren Levy <warrenl@cygnus.com>
+ */
 public abstract class DatagramSocketImpl implements SocketOptions
 {
+
+  /**
+   * The local port to which this socket is bound
+   */
   protected int localPort;
+
+  /**
+   * The FileDescriptor object for this object. 
+   */
   protected FileDescriptor fd;
 
+  /**
+   * Default, no-argument constructor for subclasses to call.
+   */
   public DatagramSocketImpl()
   {
   }
 
+  /**
+   * This method binds the socket to the specified local port and address.
+   *
+   * @param lport The port number to bind to
+   * @param laddr The address to bind to
+   *
+   * @exception SocketException If an error occurs
+   */
   protected abstract void bind(int lport, InetAddress laddr)
        throws SocketException;
+
+  /**
+   * This methods closes the socket
+   */
   protected abstract void close();
+
+  /**
+   * Creates a new datagram socket.
+   *
+   * @exception SocketException If an error occurs
+   */
   protected abstract void create() throws SocketException;
+
+  /**
+   * Takes a peek at the next packet received in order to retrieve the
+   * address of the sender
+   *
+   * @param i The InetAddress to fill in with the information about the
+   *          sender if the next packet
+   *
+   * @return The port number of the sender of the packet
+   *
+   * @exception IOException If an error occurs
+   */
   protected abstract int peek(InetAddress i) throws IOException;
+
+  /**
+   * Transmits the specified packet of data to the network.  The destination
+   * host and port should be encoded in the packet.
+   *
+   * @param p The packet to send
+   *
+   * @exception IOException If an error occurs
+   */
   protected abstract void send(DatagramPacket p) throws IOException;
+
+  /**
+   * Receives a packet of data from the network  Will block until a packet
+   * arrives.  The packet info in populated into the passed in 
+   * DatagramPacket object.
+   *
+   * @param p A place to store the incoming packet.
+   *
+   * @exception IOException If an error occurs
+   */
   protected abstract void receive(DatagramPacket p) throws IOException;
+
+  /**
+   * Sets the Time to Live (TTL) setting on this socket to the specified
+   * value. <b>Use <code>setTimeToLive(int)</code></b> instead.
+   *
+   * @param ttl The new Time to Live value
+   *
+   * @exception IOException If an error occurs
+   * @deprecated
+   */
   protected abstract void setTTL(byte ttl) throws IOException;
+
+  /**
+   * This method returns the current Time to Live (TTL) setting on this
+   * socket.  <b>Use <code>getTimeToLive()</code></b> instead.
+   *
+   * @exception IOException If an error occurs
+   * @deprecated
+   */
   protected abstract byte getTTL() throws IOException;
+
+ /**
+   * Sets the Time to Live (TTL) setting on this socket to the specified
+   * value.
+   *
+   * @param ttl The new Time to Live value
+   *
+   * @exception IOException If an error occurs
+   */
   protected abstract void setTimeToLive(int ttl) throws IOException;
+
+  /**
+   * This method returns the current Time to Live (TTL) setting on this
+   * socket.
+   *
+   * @exception IOException If an error occurs
+   */
   protected abstract int getTimeToLive() throws IOException;
+
+  /**
+   * Causes this socket to join the specified multicast group
+   *
+   * @param inetaddr The multicast address to join with
+   *
+   * @exception IOException If an error occurs
+   */
   protected abstract void join(InetAddress inetaddr) throws IOException;
-  protected abstract void leave(InetAddress inetaddr) throws IOException;
 
-  public abstract Object getOption(int optID) throws SocketException;
-  public abstract void setOption(int optID, Object value)
-    throws SocketException;
+ /**
+   * Causes the socket to leave the specified multicast group.
+   *
+   * @param inetaddr The multicast address to leave
+   *
+   * @exception IOException If an error occurs
+   */
+  protected abstract void leave(InetAddress inetaddr) throws IOException;
 
+  /**
+   * Returns the FileDescriptor for this socket
+   */
   protected FileDescriptor getFileDescriptor()
   {
     return fd;
   }
 
+  /**
+   * Returns the local port this socket is bound to
+   */
   protected int getLocalPort()
   {
     return localPort;