< prev index next >

src/java.base/share/classes/java/net/DatagramSocketImpl.java

Print this page
rev 56290 : 8230648: Replace @exception tag with @throws in java.base
Summary: Minor coding style update of javadoc tag in any file in java.base
Reviewed-by: prappo, lancea


  53      * that owns this impl
  54      */
  55     DatagramSocket socket;
  56 
  57     void setDatagramSocket(DatagramSocket socket) {
  58         this.socket = socket;
  59     }
  60 
  61     DatagramSocket getDatagramSocket() {
  62         return socket;
  63     }
  64 
  65     int dataAvailable() {
  66         // default impl returns zero, which disables the calling
  67         // functionality
  68         return 0;
  69     }
  70 
  71     /**
  72      * Creates a datagram socket.
  73      * @exception SocketException if there is an error in the
  74      * underlying protocol, such as a TCP error.
  75      */
  76     protected abstract void create() throws SocketException;
  77 
  78     /**
  79      * Binds a datagram socket to a local port and address.
  80      * @param lport the local port
  81      * @param laddr the local address
  82      * @exception SocketException if there is an error in the
  83      * underlying protocol, such as a TCP error.
  84      */
  85     protected abstract void bind(int lport, InetAddress laddr) throws SocketException;
  86 
  87     /**
  88      * Sends a datagram packet. The packet contains the data and the
  89      * destination address to send the packet to.
  90      * @param p the packet to be sent.
  91      * @exception IOException if an I/O exception occurs while sending the
  92      * datagram packet.
  93      * @exception  PortUnreachableException may be thrown if the socket is connected
  94      * to a currently unreachable destination. Note, there is no guarantee that
  95      * the exception will be thrown.
  96      */
  97     protected abstract void send(DatagramPacket p) throws IOException;
  98 
  99     /**
 100      * Connects a datagram socket to a remote destination. This associates the remote
 101      * address with the local socket so that datagrams may only be sent to this destination
 102      * and received from this destination. This may be overridden to call a native
 103      * system connect.
 104      *
 105      * <p>If the remote destination to which the socket is connected does not
 106      * exist, or is otherwise unreachable, and if an ICMP destination unreachable
 107      * packet has been received for that address, then a subsequent call to
 108      * send or receive may throw a PortUnreachableException.
 109      * Note, there is no guarantee that the exception will be thrown.
 110      * @param address the remote InetAddress to connect to
 111      * @param port the remote port number
 112      * @exception   SocketException may be thrown if the socket cannot be
 113      * connected to the remote destination
 114      * @since 1.4
 115      */
 116     protected void connect(InetAddress address, int port) throws SocketException {}
 117 
 118     /**
 119      * Disconnects a datagram socket from its remote destination.
 120      * @since 1.4
 121      */
 122     protected void disconnect() {}
 123 
 124     /**
 125      * Peek at the packet to see who it is from. Updates the specified {@code InetAddress}
 126      * to the address which the packet came from.
 127      * @param i an InetAddress object
 128      * @return the port number which the packet came from.
 129      * @exception IOException if an I/O exception occurs
 130      * @exception  PortUnreachableException may be thrown if the socket is connected
 131      *       to a currently unreachable destination. Note, there is no guarantee that the
 132      *       exception will be thrown.
 133      */
 134     protected abstract int peek(InetAddress i) throws IOException;
 135 
 136     /**
 137      * Peek at the packet to see who it is from. The data is copied into the specified
 138      * {@code DatagramPacket}. The data is returned,
 139      * but not consumed, so that a subsequent peekData/receive operation
 140      * will see the same data.
 141      * @param p the Packet Received.
 142      * @return the port number which the packet came from.
 143      * @exception IOException if an I/O exception occurs
 144      * @exception  PortUnreachableException may be thrown if the socket is connected
 145      *       to a currently unreachable destination. Note, there is no guarantee that the
 146      *       exception will be thrown.
 147      * @since 1.4
 148      */
 149     protected abstract int peekData(DatagramPacket p) throws IOException;
 150     /**
 151      * Receive the datagram packet.
 152      * @param p the Packet Received.
 153      * @exception IOException if an I/O exception occurs
 154      * while receiving the datagram packet.
 155      * @exception  PortUnreachableException may be thrown if the socket is connected
 156      *       to a currently unreachable destination. Note, there is no guarantee that the
 157      *       exception will be thrown.
 158      */
 159     protected abstract void receive(DatagramPacket p) throws IOException;
 160 
 161     /**
 162      * Set the TTL (time-to-live) option.
 163      * @param ttl a byte specifying the TTL value
 164      *
 165      * @deprecated use setTimeToLive instead.
 166      * @exception IOException if an I/O exception occurs while setting
 167      * the time-to-live option.
 168      * @see #getTTL()
 169      */
 170     @Deprecated
 171     protected abstract void setTTL(byte ttl) throws IOException;
 172 
 173     /**
 174      * Retrieve the TTL (time-to-live) option.
 175      *
 176      * @exception IOException if an I/O exception occurs
 177      * while retrieving the time-to-live option
 178      * @deprecated use getTimeToLive instead.
 179      * @return a byte representing the TTL value
 180      * @see #setTTL(byte)
 181      */
 182     @Deprecated
 183     protected abstract byte getTTL() throws IOException;
 184 
 185     /**
 186      * Set the TTL (time-to-live) option.
 187      * @param ttl an {@code int} specifying the time-to-live value
 188      * @exception IOException if an I/O exception occurs
 189      * while setting the time-to-live option.
 190      * @see #getTimeToLive()
 191      */
 192     protected abstract void setTimeToLive(int ttl) throws IOException;
 193 
 194     /**
 195      * Retrieve the TTL (time-to-live) option.
 196      * @exception IOException if an I/O exception occurs
 197      * while retrieving the time-to-live option
 198      * @return an {@code int} representing the time-to-live value
 199      * @see #setTimeToLive(int)
 200      */
 201     protected abstract int getTimeToLive() throws IOException;
 202 
 203     /**
 204      * Join the multicast group.
 205      * @param inetaddr multicast address to join.
 206      * @exception IOException if an I/O exception occurs
 207      * while joining the multicast group.
 208      */
 209     protected abstract void join(InetAddress inetaddr) throws IOException;
 210 
 211     /**
 212      * Leave the multicast group.
 213      * @param inetaddr multicast address to leave.
 214      * @exception IOException if an I/O exception occurs
 215      * while leaving the multicast group.
 216      */
 217     protected abstract void leave(InetAddress inetaddr) throws IOException;
 218 
 219     /**
 220      * Join the multicast group.
 221      * @param mcastaddr address to join.
 222      * @param netIf specifies the local interface to receive multicast
 223      *        datagram packets
 224      * @throws IOException if an I/O exception occurs while joining
 225      * the multicast group
 226      * @since 1.4
 227      */
 228     protected abstract void joinGroup(SocketAddress mcastaddr,
 229                                       NetworkInterface netIf)
 230         throws IOException;
 231 
 232     /**
 233      * Leave the multicast group.
 234      * @param mcastaddr address to leave.




  53      * that owns this impl
  54      */
  55     DatagramSocket socket;
  56 
  57     void setDatagramSocket(DatagramSocket socket) {
  58         this.socket = socket;
  59     }
  60 
  61     DatagramSocket getDatagramSocket() {
  62         return socket;
  63     }
  64 
  65     int dataAvailable() {
  66         // default impl returns zero, which disables the calling
  67         // functionality
  68         return 0;
  69     }
  70 
  71     /**
  72      * Creates a datagram socket.
  73      * @throws    SocketException if there is an error in the
  74      * underlying protocol, such as a TCP error.
  75      */
  76     protected abstract void create() throws SocketException;
  77 
  78     /**
  79      * Binds a datagram socket to a local port and address.
  80      * @param     lport the local port
  81      * @param     laddr the local address
  82      * @throws    SocketException if there is an error in the
  83      *            underlying protocol, such as a TCP error.
  84      */
  85     protected abstract void bind(int lport, InetAddress laddr) throws SocketException;
  86 
  87     /**
  88      * Sends a datagram packet. The packet contains the data and the
  89      * destination address to send the packet to.
  90      * @param    p the packet to be sent.
  91      * @throws   IOException if an I/O exception occurs while sending the
  92      *           datagram packet.
  93      * @throws   PortUnreachableException may be thrown if the socket is connected
  94      *           to a currently unreachable destination. Note, there is no guarantee that
  95      *           the exception will be thrown.
  96      */
  97     protected abstract void send(DatagramPacket p) throws IOException;
  98 
  99     /**
 100      * Connects a datagram socket to a remote destination. This associates the remote
 101      * address with the local socket so that datagrams may only be sent to this destination
 102      * and received from this destination. This may be overridden to call a native
 103      * system connect.
 104      *
 105      * <p>If the remote destination to which the socket is connected does not
 106      * exist, or is otherwise unreachable, and if an ICMP destination unreachable
 107      * packet has been received for that address, then a subsequent call to
 108      * send or receive may throw a PortUnreachableException.
 109      * Note, there is no guarantee that the exception will be thrown.
 110      * @param   address the remote InetAddress to connect to
 111      * @param   port the remote port number
 112      * @throws  SocketException may be thrown if the socket cannot be
 113      *          connected to the remote destination
 114      * @since   1.4
 115      */
 116     protected void connect(InetAddress address, int port) throws SocketException {}
 117 
 118     /**
 119      * Disconnects a datagram socket from its remote destination.
 120      * @since 1.4
 121      */
 122     protected void disconnect() {}
 123 
 124     /**
 125      * Peek at the packet to see who it is from. Updates the specified {@code InetAddress}
 126      * to the address which the packet came from.
 127      * @param     i an InetAddress object
 128      * @return    the port number which the packet came from.
 129      * @throws    IOException if an I/O exception occurs
 130      * @throws    PortUnreachableException may be thrown if the socket is connected
 131      *            to a currently unreachable destination. Note, there is no guarantee that the
 132      *            exception will be thrown.
 133      */
 134     protected abstract int peek(InetAddress i) throws IOException;
 135 
 136     /**
 137      * Peek at the packet to see who it is from. The data is copied into the specified
 138      * {@code DatagramPacket}. The data is returned,
 139      * but not consumed, so that a subsequent peekData/receive operation
 140      * will see the same data.
 141      * @param     p the Packet Received.
 142      * @return    the port number which the packet came from.
 143      * @throws    IOException if an I/O exception occurs
 144      * @throws    PortUnreachableException may be thrown if the socket is connected
 145      *            to a currently unreachable destination. Note, there is no guarantee that the
 146      *            exception will be thrown.
 147      * @since 1.4
 148      */
 149     protected abstract int peekData(DatagramPacket p) throws IOException;
 150     /**
 151      * Receive the datagram packet.
 152      * @param     p the Packet Received.
 153      * @throws    IOException if an I/O exception occurs
 154      *            while receiving the datagram packet.
 155      * @throws    PortUnreachableException may be thrown if the socket is connected
 156      *            to a currently unreachable destination. Note, there is no guarantee that the
 157      *            exception will be thrown.
 158      */
 159     protected abstract void receive(DatagramPacket p) throws IOException;
 160 
 161     /**
 162      * Set the TTL (time-to-live) option.
 163      * @param ttl a byte specifying the TTL value
 164      *
 165      * @deprecated use setTimeToLive instead.
 166      * @throws    IOException if an I/O exception occurs while setting
 167      * the time-to-live option.
 168      * @see #getTTL()
 169      */
 170     @Deprecated
 171     protected abstract void setTTL(byte ttl) throws IOException;
 172 
 173     /**
 174      * Retrieve the TTL (time-to-live) option.
 175      *
 176      * @throws    IOException if an I/O exception occurs
 177      * while retrieving the time-to-live option
 178      * @deprecated use getTimeToLive instead.
 179      * @return a byte representing the TTL value
 180      * @see #setTTL(byte)
 181      */
 182     @Deprecated
 183     protected abstract byte getTTL() throws IOException;
 184 
 185     /**
 186      * Set the TTL (time-to-live) option.
 187      * @param ttl an {@code int} specifying the time-to-live value
 188      * @throws    IOException if an I/O exception occurs
 189      * while setting the time-to-live option.
 190      * @see #getTimeToLive()
 191      */
 192     protected abstract void setTimeToLive(int ttl) throws IOException;
 193 
 194     /**
 195      * Retrieve the TTL (time-to-live) option.
 196      * @throws    IOException if an I/O exception occurs
 197      * while retrieving the time-to-live option
 198      * @return an {@code int} representing the time-to-live value
 199      * @see #setTimeToLive(int)
 200      */
 201     protected abstract int getTimeToLive() throws IOException;
 202 
 203     /**
 204      * Join the multicast group.
 205      * @param inetaddr multicast address to join.
 206      * @throws    IOException if an I/O exception occurs
 207      * while joining the multicast group.
 208      */
 209     protected abstract void join(InetAddress inetaddr) throws IOException;
 210 
 211     /**
 212      * Leave the multicast group.
 213      * @param inetaddr multicast address to leave.
 214      * @throws    IOException if an I/O exception occurs
 215      * while leaving the multicast group.
 216      */
 217     protected abstract void leave(InetAddress inetaddr) throws IOException;
 218 
 219     /**
 220      * Join the multicast group.
 221      * @param mcastaddr address to join.
 222      * @param netIf specifies the local interface to receive multicast
 223      *        datagram packets
 224      * @throws IOException if an I/O exception occurs while joining
 225      * the multicast group
 226      * @since 1.4
 227      */
 228     protected abstract void joinGroup(SocketAddress mcastaddr,
 229                                       NetworkInterface netIf)
 230         throws IOException;
 231 
 232     /**
 233      * Leave the multicast group.
 234      * @param mcastaddr address to leave.


< prev index next >