# HG changeset patch # User alanb # Date 1304963133 -3600 # Node ID d98ae8bc45fca96f8e98e87a6e870b5c79505f29 # Parent 638762c0263ec27814c1cc48a3eecef9b84d350a 7042979: Rename StandardSocketOption and StandardWatchEventKind Reviewed-by: forax, chegar diff -r 638762c0263e -r d98ae8bc45fc jdk/make/com/sun/nio/sctp/FILES_java.gmk --- a/jdk/make/com/sun/nio/sctp/FILES_java.gmk Mon May 09 08:58:00 2011 -0700 +++ b/jdk/make/com/sun/nio/sctp/FILES_java.gmk Mon May 09 18:45:33 2011 +0100 @@ -38,7 +38,7 @@ com/sun/nio/sctp/SctpMultiChannel.java \ com/sun/nio/sctp/SctpServerChannel.java \ com/sun/nio/sctp/SctpSocketOption.java \ - com/sun/nio/sctp/SctpStandardSocketOption.java \ + com/sun/nio/sctp/SctpStandardSocketOptions.java \ com/sun/nio/sctp/SendFailedNotification.java \ com/sun/nio/sctp/ShutdownNotification.java \ \ diff -r 638762c0263e -r d98ae8bc45fc jdk/make/java/nio/FILES_java.gmk --- a/jdk/make/java/nio/FILES_java.gmk Mon May 09 08:58:00 2011 -0700 +++ b/jdk/make/java/nio/FILES_java.gmk Mon May 09 18:45:33 2011 +0100 @@ -116,7 +116,7 @@ java/nio/file/SimpleFileVisitor.java \ java/nio/file/StandardCopyOption.java \ java/nio/file/StandardOpenOption.java \ - java/nio/file/StandardWatchEventKind.java \ + java/nio/file/StandardWatchEventKinds.java \ java/nio/file/TempFileHelper.java \ java/nio/file/WatchEvent.java \ java/nio/file/WatchKey.java \ diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/com/sun/nio/sctp/MessageInfo.java --- a/jdk/src/share/classes/com/sun/nio/sctp/MessageInfo.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/com/sun/nio/sctp/MessageInfo.java Mon May 09 18:45:33 2011 +0100 @@ -179,7 +179,7 @@ * completely received. For messages being sent {@code true} indicates that * the message is complete, {@code false} indicates that the message is not * complete. How the send channel interprets this value depends on the value - * of its {@link SctpStandardSocketOption#SCTP_EXPLICIT_COMPLETE + * of its {@link SctpStandardSocketOptions#SCTP_EXPLICIT_COMPLETE * SCTP_EXPLICIT_COMPLETE} socket option. * * @return {@code true} if, and only if, the message is complete @@ -192,7 +192,7 @@ *

For messages being sent {@code true} indicates that * the message is complete, {@code false} indicates that the message is not * complete. How the send channel interprets this value depends on the value - * of its {@link SctpStandardSocketOption#SCTP_EXPLICIT_COMPLETE + * of its {@link SctpStandardSocketOptions#SCTP_EXPLICIT_COMPLETE * SCTP_EXPLICIT_COMPLETE} socket option. * * @param complete diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/com/sun/nio/sctp/SctpChannel.java --- a/jdk/src/share/classes/com/sun/nio/sctp/SctpChannel.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/com/sun/nio/sctp/SctpChannel.java Mon May 09 18:45:33 2011 +0100 @@ -65,55 +65,55 @@ * Description * * - * {@link SctpStandardSocketOption#SCTP_DISABLE_FRAGMENTS + * {@link SctpStandardSocketOptions#SCTP_DISABLE_FRAGMENTS * SCTP_DISABLE_FRAGMENTS} * Enables or disables message fragmentation * * - * {@link SctpStandardSocketOption#SCTP_EXPLICIT_COMPLETE + * {@link SctpStandardSocketOptions#SCTP_EXPLICIT_COMPLETE * SCTP_EXPLICIT_COMPLETE} * Enables or disables explicit message completion * * - * {@link SctpStandardSocketOption#SCTP_FRAGMENT_INTERLEAVE + * {@link SctpStandardSocketOptions#SCTP_FRAGMENT_INTERLEAVE * SCTP_FRAGMENT_INTERLEAVE} * Controls how the presentation of messages occur for the message * receiver * * - * {@link SctpStandardSocketOption#SCTP_INIT_MAXSTREAMS + * {@link SctpStandardSocketOptions#SCTP_INIT_MAXSTREAMS * SCTP_INIT_MAXSTREAMS} * The maximum number of streams requested by the local endpoint during * association initialization * * - * {@link SctpStandardSocketOption#SCTP_NODELAY SCTP_NODELAY} + * {@link SctpStandardSocketOptions#SCTP_NODELAY SCTP_NODELAY} * Enables or disable a Nagle-like algorithm * * - * {@link SctpStandardSocketOption#SCTP_PRIMARY_ADDR + * {@link SctpStandardSocketOptions#SCTP_PRIMARY_ADDR * SCTP_PRIMARY_ADDR} * Requests that the local SCTP stack use the given peer address as the * association primary * * - * {@link SctpStandardSocketOption#SCTP_SET_PEER_PRIMARY_ADDR + * {@link SctpStandardSocketOptions#SCTP_SET_PEER_PRIMARY_ADDR * SCTP_SET_PEER_PRIMARY_ADDR} * Requests that the peer mark the enclosed address as the association * primary * * - * {@link SctpStandardSocketOption#SO_SNDBUF + * {@link SctpStandardSocketOptions#SO_SNDBUF * SO_SNDBUF} * The size of the socket send buffer * * - * {@link SctpStandardSocketOption#SO_RCVBUF + * {@link SctpStandardSocketOptions#SO_RCVBUF * SO_RCVBUF} * The size of the socket receive buffer * * - * {@link SctpStandardSocketOption#SO_LINGER + * {@link SctpStandardSocketOptions#SO_LINGER * SO_LINGER} * Linger on close if data is present (when configured in blocking mode * only) @@ -449,7 +449,7 @@ *

This is a convience method and is equivalent to evaluating the * following expression: *

-     * setOption(SctpStandardSocketOption.SCTP_INIT_MAXSTREAMS, SctpStandardSocketOption.InitMaxStreams.create(maxInStreams, maxOutStreams))
+     * setOption(SctpStandardSocketOptions.SCTP_INIT_MAXSTREAMS, SctpStandardSocketOption.InitMaxStreams.create(maxInStreams, maxOutStreams))
      *  .connect(remote);
      * 
* @@ -651,7 +651,7 @@ * @throws IOException * If an I/O error occurs * - * @see SctpStandardSocketOption + * @see SctpStandardSocketOptions */ public abstract T getOption(SctpSocketOption name) throws IOException; @@ -680,7 +680,7 @@ * @throws IOException * If an I/O error occurs * - * @see SctpStandardSocketOption + * @see SctpStandardSocketOptions */ public abstract SctpChannel setOption(SctpSocketOption name, T value) throws IOException; @@ -731,7 +731,7 @@ * MessageInfo} will return {@code false}, and more invocations of this * method will be necessary to completely consume the messgae. Only * one message at a time will be partially delivered in any stream. The - * socket option {@link SctpStandardSocketOption#SCTP_FRAGMENT_INTERLEAVE + * socket option {@link SctpStandardSocketOptions#SCTP_FRAGMENT_INTERLEAVE * SCTP_FRAGMENT_INTERLEAVE} controls various aspects of what interlacing of * messages occurs. * @@ -804,7 +804,7 @@ * and sufficient room becomes available, then the remaining bytes in the * given byte buffer are transmitted as a single message. Sending a message * is atomic unless explicit message completion {@link - * SctpStandardSocketOption#SCTP_EXPLICIT_COMPLETE SCTP_EXPLICIT_COMPLETE} + * SctpStandardSocketOptions#SCTP_EXPLICIT_COMPLETE SCTP_EXPLICIT_COMPLETE} * socket option is enabled on this channel's socket. * *

The message is transferred from the byte buffer as if by a regular diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java --- a/jdk/src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java Mon May 09 18:45:33 2011 +0100 @@ -69,55 +69,55 @@ * Description * * - * {@link SctpStandardSocketOption#SCTP_DISABLE_FRAGMENTS + * {@link SctpStandardSocketOptions#SCTP_DISABLE_FRAGMENTS * SCTP_DISABLE_FRAGMENTS} * Enables or disables message fragmentation * * - * {@link SctpStandardSocketOption#SCTP_EXPLICIT_COMPLETE + * {@link SctpStandardSocketOptions#SCTP_EXPLICIT_COMPLETE * SCTP_EXPLICIT_COMPLETE} * Enables or disables explicit message completion * * - * {@link SctpStandardSocketOption#SCTP_FRAGMENT_INTERLEAVE + * {@link SctpStandardSocketOptions#SCTP_FRAGMENT_INTERLEAVE * SCTP_FRAGMENT_INTERLEAVE} * Controls how the presentation of messages occur for the message * receiver * * - * {@link SctpStandardSocketOption#SCTP_INIT_MAXSTREAMS + * {@link SctpStandardSocketOptions#SCTP_INIT_MAXSTREAMS * SCTP_INIT_MAXSTREAMS} * The maximum number of streams requested by the local endpoint during * association initialization * * - * {@link SctpStandardSocketOption#SCTP_NODELAY SCTP_NODELAY} + * {@link SctpStandardSocketOptions#SCTP_NODELAY SCTP_NODELAY} * Enables or disable a Nagle-like algorithm * * - * {@link SctpStandardSocketOption#SCTP_PRIMARY_ADDR + * {@link SctpStandardSocketOptions#SCTP_PRIMARY_ADDR * SCTP_PRIMARY_ADDR} * Requests that the local SCTP stack use the given peer address as the * association primary * * - * {@link SctpStandardSocketOption#SCTP_SET_PEER_PRIMARY_ADDR + * {@link SctpStandardSocketOptions#SCTP_SET_PEER_PRIMARY_ADDR * SCTP_SET_PEER_PRIMARY_ADDR} * Requests that the peer mark the enclosed address as the association * primary * * - * {@link SctpStandardSocketOption#SO_SNDBUF + * {@link SctpStandardSocketOptions#SO_SNDBUF * SO_SNDBUF} * The size of the socket send buffer * * - * {@link SctpStandardSocketOption#SO_RCVBUF + * {@link SctpStandardSocketOptions#SO_RCVBUF * SO_RCVBUF} * The size of the socket receive buffer * * - * {@link SctpStandardSocketOption#SO_LINGER + * {@link SctpStandardSocketOptions#SO_LINGER * SO_LINGER} * Linger on close if data is present (when configured in blocking mode * only) @@ -450,7 +450,7 @@ * @throws IOException * If an I/O error occurs * - * @see SctpStandardSocketOption + * @see SctpStandardSocketOptions */ public abstract T getOption(SctpSocketOption name, Association association) @@ -489,7 +489,7 @@ * @throws IOException * If an I/O error occurs * - * @see SctpStandardSocketOption + * @see SctpStandardSocketOptions */ public abstract SctpMultiChannel setOption(SctpSocketOption name, T value, @@ -542,7 +542,7 @@ * MessageInfo} will return {@code false}, and more invocations of this * method will be necessary to completely consume the messgae. Only * one message at a time will be partially delivered in any stream. The - * socket option {@link SctpStandardSocketOption#SCTP_FRAGMENT_INTERLEAVE + * socket option {@link SctpStandardSocketOptions#SCTP_FRAGMENT_INTERLEAVE * SCTP_FRAGMENT_INTERLEAVE} controls various aspects of what interlacing of * messages occurs. * @@ -635,14 +635,14 @@ * underlying output buffer, then the remaining bytes in the given byte * buffer are transmitted as a single message. Sending a message * is atomic unless explicit message completion {@link - * SctpStandardSocketOption#SCTP_EXPLICIT_COMPLETE SCTP_EXPLICIT_COMPLETE} + * SctpStandardSocketOptions#SCTP_EXPLICIT_COMPLETE SCTP_EXPLICIT_COMPLETE} * socket option is enabled on this channel's socket. * *

If this channel is in non-blocking mode, there is sufficient room * in the underlying output buffer, and an implicit association setup is * required, then the remaining bytes in the given byte buffer are * transmitted as a single message, subject to {@link - * SctpStandardSocketOption#SCTP_EXPLICIT_COMPLETE SCTP_EXPLICIT_COMPLETE}. + * SctpStandardSocketOptions#SCTP_EXPLICIT_COMPLETE SCTP_EXPLICIT_COMPLETE}. * If for any reason the message cannot * be delivered an {@link AssociationChangeNotification association * changed} notification is put on the SCTP stack with its {@code event} parameter set diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/com/sun/nio/sctp/SctpServerChannel.java --- a/jdk/src/share/classes/com/sun/nio/sctp/SctpServerChannel.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/com/sun/nio/sctp/SctpServerChannel.java Mon May 09 18:45:33 2011 +0100 @@ -53,7 +53,7 @@ * Description * * - * {@link SctpStandardSocketOption#SCTP_INIT_MAXSTREAMS + * {@link SctpStandardSocketOptions#SCTP_INIT_MAXSTREAMS * SCTP_INIT_MAXSTREAMS} * The maximum number of streams requested by the local endpoint during * association initialization @@ -360,7 +360,7 @@ * @throws IOException * If an I/O error occurs * - * @see SctpStandardSocketOption + * @see SctpStandardSocketOptions */ public abstract T getOption(SctpSocketOption name) throws IOException; @@ -388,7 +388,7 @@ * @throws IOException * If an I/O error occurs * - * @see SctpStandardSocketOption + * @see SctpStandardSocketOptions */ public abstract SctpServerChannel setOption(SctpSocketOption name, T value) diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/com/sun/nio/sctp/SctpSocketOption.java --- a/jdk/src/share/classes/com/sun/nio/sctp/SctpSocketOption.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/com/sun/nio/sctp/SctpSocketOption.java Mon May 09 18:45:33 2011 +0100 @@ -33,6 +33,6 @@ * * @since 1.7 * - * @see SctpStandardSocketOption + * @see SctpStandardSocketOptions */ public interface SctpSocketOption extends SocketOption { } diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/com/sun/nio/sctp/SctpStandardSocketOption.java --- a/jdk/src/share/classes/com/sun/nio/sctp/SctpStandardSocketOption.java Mon May 09 08:58:00 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,419 +0,0 @@ -/* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package com.sun.nio.sctp; - -import java.net.SocketAddress; -import sun.nio.ch.SctpStdSocketOption; - -/** - * SCTP channels supports the socket options defined by this class - * (as well as those listed in the particular channel class) and may support - * additional Implementation specific socket options. - * - * @since 1.7 - */ -public class SctpStandardSocketOption { - private SctpStandardSocketOption() {} - /** - * Enables or disables message fragmentation. - * - *

The value of this socket option is a {@code Boolean} that represents - * whether the option is enabled or disabled. If enabled no SCTP message - * fragmentation will be performed. Instead if a message being sent - * exceeds the current PMTU size, the message will NOT be sent and - * an error will be indicated to the user. - * - *

It is implementation specific whether or not this option is - * supported. - */ - public static final SctpSocketOption SCTP_DISABLE_FRAGMENTS = new - SctpStdSocketOption("SCTP_DISABLE_FRAGMENTS", Boolean.class, - sun.nio.ch.SctpStdSocketOption.SCTP_DISABLE_FRAGMENTS); - - /** - * Enables or disables explicit message completion. - * - *

The value of this socket option is a {@code Boolean} that represents - * whether the option is enabled or disabled. When this option is enabled, - * the {@code send} method may be invoked multiple times to a send message. - * The {@code isComplete} parameter of the {@link MessageInfo} must only - * be set to {@code true} for the final send to indicate that the message is - * complete. If this option is disabled then each individual {@code send} - * invocation is considered complete. - * - *

The default value of the option is {@code false} indicating that the - * option is disabled. It is implementation specific whether or not this - * option is supported. - */ - public static final SctpSocketOption SCTP_EXPLICIT_COMPLETE = new - SctpStdSocketOption("SCTP_EXPLICIT_COMPLETE", Boolean.class, - sun.nio.ch.SctpStdSocketOption.SCTP_EXPLICIT_COMPLETE); - - /** - * Fragmented interleave controls how the presentation of messages occur - * for the message receiver. There are three levels of fragment interleave - * defined. Two of the levels effect {@link SctpChannel}, while - * {@link SctpMultiChannel} is effected by all three levels. - * - *

This option takes an {@code Integer} value. It can be set to a value - * of {@code 0}, {@code 1} or {@code 2}. - * - *

Setting the three levels provides the following receiver - * interactions: - * - *

{@code level 0} - Prevents the interleaving of any messages. This - * means that when a partial delivery begins, no other messages will be - * received except the message being partially delivered. If another message - * arrives on a different stream (or association) that could be delivered, - * it will be blocked waiting for the user to read all of the partially - * delivered message. - * - *

{@code level 1} - Allows interleaving of messages that are from - * different associations. For {@code SctpChannel}, level 0 and - * level 1 have the same meaning since an {@code SctpChannel} always - * receives messages from the same association. Note that setting an {@code - * SctpMultiChannel} to this level may cause multiple partial - * delivers from different associations but for any given association, only - * one message will be delivered until all parts of a message have been - * delivered. This means that one large message, being read with an - * association identification of "X", will block other messages from - * association "X" from being delivered. - * - *

{@code level 2} - Allows complete interleaving of messages. This - * level requires that the sender carefully observe not only the peer - * {@code Association} but also must pay careful attention to the stream - * number. With this option enabled a partially delivered message may begin - * being delivered for association "X" stream "Y" and the next subsequent - * receive may return a message from association "X" stream "Z". Note that - * no other messages would be delivered for association "X" stream "Y" - * until all of stream "Y"'s partially delivered message was read. - * Note that this option effects both channel types. Also note that - * for an {@code SctpMultiChannel} not only may another streams - * message from the same association be delivered from the next receive, - * some other associations message may be delivered upon the next receive. - * - *

It is implementation specific whether or not this option is - * supported. - */ - public static final SctpSocketOption SCTP_FRAGMENT_INTERLEAVE = - new SctpStdSocketOption("SCTP_FRAGMENT_INTERLEAVE", - Integer.class, - sun.nio.ch.SctpStdSocketOption.SCTP_FRAGMENT_INTERLEAVE); - - /** - * The maximum number of streams requested by the local endpoint during - * association initialization. - * - *

The value of this socket option is an {@link - * SctpStandardSocketOption.InitMaxStreams InitMaxStreams}, that represents - * the maximum number of inbound and outbound streams that an association - * on the channel is prepared to support. - * - *

For an {@link SctpChannel} this option may only be used to - * change the number of inbound/outbound streams prior to connecting. - * - *

For an {@link SctpMultiChannel} this option determines - * the maximum number of inbound/outbound streams new associations setup - * on the channel will be prepared to support. - * - *

For an {@link SctpServerChannel} this option determines the - * maximum number of inbound/outbound streams accepted sockets will - * negotiate with their connecting peer. - * - *

In all cases the value set by this option is used in the negotiation - * of new associations setup on the channel's socket and the actual - * maximum number of inbound/outbound streams that have been negotiated - * with the peer can be retrieved from the appropriate {@link - * Association}. The {@code Association} can be retrieved from the - * {@link AssociationChangeNotification.AssocChangeEvent#COMM_UP COMM_UP} - * {@link AssociationChangeNotification} belonging to that association. - * - *

This value is bounded by the actual implementation. In other - * words the user may be able to support more streams than the Operating - * System. In such a case, the Operating System limit may override the - * value requested by the user. The default value of 0 indicates to use - * the endpoints default value. - */ - public static final SctpSocketOption - SCTP_INIT_MAXSTREAMS = - new SctpStdSocketOption( - "SCTP_INIT_MAXSTREAMS", SctpStandardSocketOption.InitMaxStreams.class); - - /** - * Enables or disables a Nagle-like algorithm. - * - *

The value of this socket option is a {@code Boolean} that represents - * whether the option is enabled or disabled. SCTP uses an algorithm like - * The Nagle Algorithm to coalesce short segments and - * improve network efficiency. - */ - public static final SctpSocketOption SCTP_NODELAY = - new SctpStdSocketOption("SCTP_NODELAY", Boolean.class, - sun.nio.ch.SctpStdSocketOption.SCTP_NODELAY); - - /** - * Requests that the local SCTP stack use the given peer address as - * the association primary. - * - *

The value of this socket option is a {@code SocketAddress} - * that represents the peer address that the local SCTP stack should use as - * the association primary. The address must be one of the association - * peer's addresses. - * - *

An {@code SctpMultiChannel} can control more than one - * association, the association parameter must be given when setting or - * retrieving this option. - * - *

Since {@code SctpChannel} only controls one association, - * the association parameter is not required and this option can be - * set or queried directly. - */ - public static final SctpSocketOption SCTP_PRIMARY_ADDR = - new SctpStdSocketOption - ("SCTP_PRIMARY_ADDR", SocketAddress.class); - - /** - * Requests that the peer mark the enclosed address as the association - * primary. - * - *

The value of this socket option is a {@code SocketAddress} - * that represents the local address that the peer should use as its - * primary address. The given address must be one of the association's - * locally bound addresses. - * - *

An {@code SctpMultiChannel} can control more than one - * association, the association parameter must be given when setting or - * retrieving this option. - * - *

Since {@code SctpChannel} only controls one association, - * the association parameter is not required and this option can be - * queried directly. - * - *

Note, this is a set only option and cannot be retrieved by {@code - * getOption}. It is implementation specific whether or not this - * option is supported. - */ - public static final SctpSocketOption SCTP_SET_PEER_PRIMARY_ADDR = - new SctpStdSocketOption - ("SCTP_SET_PEER_PRIMARY_ADDR", SocketAddress.class); - - /** - * The size of the socket send buffer. - * - *

The value of this socket option is an {@code Integer} that is the - * size of the socket send buffer in bytes. The socket send buffer is an - * output buffer used by the networking implementation. It may need to be - * increased for high-volume connections. The value of the socket option is - * a hint to the implementation to size the buffer and the actual - * size may differ. The socket option can be queried to retrieve the actual - * size. - * - *

For {@code SctpChannel}, this controls the amount of data - * the SCTP stack may have waiting in internal buffers to be sent. This - * option therefore bounds the maximum size of data that can be sent in a - * single send call. - * - *

For {@code SctpMultiChannel}, the effect is the same as for {@code - * SctpChannel}, except that it applies to all associations. The option - * applies to each association's window size separately. - * - *

An implementation allows this socket option to be set before the - * socket is bound or connected. Whether an implementation allows the - * socket send buffer to be changed after the socket is bound is system - * dependent. - */ - public static final SctpSocketOption SO_SNDBUF = - new SctpStdSocketOption("SO_SNDBUF", Integer.class, - sun.nio.ch.SctpStdSocketOption.SO_SNDBUF); - - /** - * The size of the socket receive buffer. - * - *

The value of this socket option is an {@code Integer} that is the - * size of the socket receive buffer in bytes. The socket receive buffer is - * an input buffer used by the networking implementation. It may need to be - * increased for high-volume connections or decreased to limit the possible - * backlog of incoming data. The value of the socket option is a - * hint to the implementation to size the buffer and the actual - * size may differ. - * - *

For {@code SctpChannel}, this controls the receiver window size. - * - *

For {@code SctpMultiChannel}, the meaning is implementation - * dependent. It might control the receive buffer for each association bound - * to the socket descriptor or it might control the receive buffer for the - * whole socket. - * - *

An implementation allows this socket option to be set before the - * socket is bound or connected. Whether an implementation allows the - * socket receive buffer to be changed after the socket is bound is system - * dependent. - */ - public static final SctpSocketOption SO_RCVBUF = - new SctpStdSocketOption("SO_RCVBUF", Integer.class, - sun.nio.ch.SctpStdSocketOption.SO_RCVBUF); - - /** - * Linger on close if data is present. - * - *

The value of this socket option is an {@code Integer} that controls - * the action taken when unsent data is queued on the socket and a method - * to close the socket is invoked. If the value of the socket option is zero - * or greater, then it represents a timeout value, in seconds, known as the - * linger interval. The linger interval is the timeout for the - * {@code close} method to block while the operating system attempts to - * transmit the unsent data or it decides that it is unable to transmit the - * data. If the value of the socket option is less than zero then the option - * is disabled. In that case the {@code close} method does not wait until - * unsent data is transmitted; if possible the operating system will transmit - * any unsent data before the connection is closed. - * - *

This socket option is intended for use with sockets that are configured - * in {@link java.nio.channels.SelectableChannel#isBlocking() blocking} mode - * only. The behavior of the {@code close} method when this option is - * enabled on a non-blocking socket is not defined. - * - *

The initial value of this socket option is a negative value, meaning - * that the option is disabled. The option may be enabled, or the linger - * interval changed, at any time. The maximum value of the linger interval - * is system dependent. Setting the linger interval to a value that is - * greater than its maximum value causes the linger interval to be set to - * its maximum value. - */ - public static final SctpSocketOption SO_LINGER = - new SctpStdSocketOption("SO_LINGER", Integer.class, - sun.nio.ch.SctpStdSocketOption.SO_LINGER); - - /** - * This class is used to set the maximum number of inbound/outbound streams - * used by the local endpoint during association initialization. An - * instance of this class is used to set the {@link - * SctpStandardSocketOption#SCTP_INIT_MAXSTREAMS SCTP_INIT_MAXSTREAMS} - * socket option. - * - * @since 1.7 - */ - public static class InitMaxStreams { - private int maxInStreams; - private int maxOutStreams; - - private InitMaxStreams(int maxInStreams, int maxOutStreams) { - this.maxInStreams = maxInStreams; - this.maxOutStreams = maxOutStreams; - } - - /** - * Creates an InitMaxStreams instance. - * - * @param maxInStreams - * The maximum number of inbound streams, where - * {@code 0 <= maxInStreams <= 65536} - * - * @param maxOutStreams - * The maximum number of outbound streams, where - * {@code 0 <= maxOutStreams <= 65536} - * - * @return An {@code InitMaxStreams} instance - * - * @throws IllegalArgumentException - * If an argument is outside of specified bounds - */ - public static InitMaxStreams create - (int maxInStreams, int maxOutStreams) { - if (maxOutStreams < 0 || maxOutStreams > 65535) - throw new IllegalArgumentException( - "Invalid maxOutStreams value"); - if (maxInStreams < 0 || maxInStreams > 65535) - throw new IllegalArgumentException( - "Invalid maxInStreams value"); - - return new InitMaxStreams(maxInStreams, maxOutStreams); - } - - /** - * Returns the maximum number of inbound streams. - * - * @return Maximum inbound streams - */ - public int maxInStreams() { - return maxInStreams; - } - - /** - * Returns the maximum number of outbound streams. - * - * @return Maximum outbound streams - */ - public int maxOutStreams() { - return maxOutStreams; - } - - /** - * Returns a string representation of this init max streams, including - * the maximum in and out bound streams. - * - * @return A string representation of this init max streams - */ - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append(super.toString()).append(" ["); - sb.append("maxInStreams:").append(maxInStreams); - sb.append("maxOutStreams:").append(maxOutStreams).append("]"); - return sb.toString(); - } - - /** - * Returns true if the specified object is another {@code InitMaxStreams} - * instance with the same number of in and out bound streams. - * - * @param obj - * The object to be compared with this init max streams - * - * @return true if the specified object is another - * {@code InitMaxStreams} instance with the same number of in - * and out bound streams - */ - @Override - public boolean equals(Object obj) { - if (obj != null && obj instanceof InitMaxStreams) { - InitMaxStreams that = (InitMaxStreams) obj; - if (this.maxInStreams == that.maxInStreams && - this.maxOutStreams == that.maxOutStreams) - return true; - } - return false; - } - - /** - * Returns a hash code value for this init max streams. - */ - @Override - public int hashCode() { - int hash = 7 ^ maxInStreams ^ maxOutStreams; - return hash; - } - } -} diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java Mon May 09 18:45:33 2011 +0100 @@ -0,0 +1,419 @@ +/* + * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +package com.sun.nio.sctp; + +import java.net.SocketAddress; +import sun.nio.ch.SctpStdSocketOption; + +/** + * SCTP channels supports the socket options defined by this class + * (as well as those listed in the particular channel class) and may support + * additional Implementation specific socket options. + * + * @since 1.7 + */ +public class SctpStandardSocketOptions { + private SctpStandardSocketOptions() {} + /** + * Enables or disables message fragmentation. + * + *

The value of this socket option is a {@code Boolean} that represents + * whether the option is enabled or disabled. If enabled no SCTP message + * fragmentation will be performed. Instead if a message being sent + * exceeds the current PMTU size, the message will NOT be sent and + * an error will be indicated to the user. + * + *

It is implementation specific whether or not this option is + * supported. + */ + public static final SctpSocketOption SCTP_DISABLE_FRAGMENTS = new + SctpStdSocketOption("SCTP_DISABLE_FRAGMENTS", Boolean.class, + sun.nio.ch.SctpStdSocketOption.SCTP_DISABLE_FRAGMENTS); + + /** + * Enables or disables explicit message completion. + * + *

The value of this socket option is a {@code Boolean} that represents + * whether the option is enabled or disabled. When this option is enabled, + * the {@code send} method may be invoked multiple times to a send message. + * The {@code isComplete} parameter of the {@link MessageInfo} must only + * be set to {@code true} for the final send to indicate that the message is + * complete. If this option is disabled then each individual {@code send} + * invocation is considered complete. + * + *

The default value of the option is {@code false} indicating that the + * option is disabled. It is implementation specific whether or not this + * option is supported. + */ + public static final SctpSocketOption SCTP_EXPLICIT_COMPLETE = new + SctpStdSocketOption("SCTP_EXPLICIT_COMPLETE", Boolean.class, + sun.nio.ch.SctpStdSocketOption.SCTP_EXPLICIT_COMPLETE); + + /** + * Fragmented interleave controls how the presentation of messages occur + * for the message receiver. There are three levels of fragment interleave + * defined. Two of the levels effect {@link SctpChannel}, while + * {@link SctpMultiChannel} is effected by all three levels. + * + *

This option takes an {@code Integer} value. It can be set to a value + * of {@code 0}, {@code 1} or {@code 2}. + * + *

Setting the three levels provides the following receiver + * interactions: + * + *

{@code level 0} - Prevents the interleaving of any messages. This + * means that when a partial delivery begins, no other messages will be + * received except the message being partially delivered. If another message + * arrives on a different stream (or association) that could be delivered, + * it will be blocked waiting for the user to read all of the partially + * delivered message. + * + *

{@code level 1} - Allows interleaving of messages that are from + * different associations. For {@code SctpChannel}, level 0 and + * level 1 have the same meaning since an {@code SctpChannel} always + * receives messages from the same association. Note that setting an {@code + * SctpMultiChannel} to this level may cause multiple partial + * delivers from different associations but for any given association, only + * one message will be delivered until all parts of a message have been + * delivered. This means that one large message, being read with an + * association identification of "X", will block other messages from + * association "X" from being delivered. + * + *

{@code level 2} - Allows complete interleaving of messages. This + * level requires that the sender carefully observe not only the peer + * {@code Association} but also must pay careful attention to the stream + * number. With this option enabled a partially delivered message may begin + * being delivered for association "X" stream "Y" and the next subsequent + * receive may return a message from association "X" stream "Z". Note that + * no other messages would be delivered for association "X" stream "Y" + * until all of stream "Y"'s partially delivered message was read. + * Note that this option effects both channel types. Also note that + * for an {@code SctpMultiChannel} not only may another streams + * message from the same association be delivered from the next receive, + * some other associations message may be delivered upon the next receive. + * + *

It is implementation specific whether or not this option is + * supported. + */ + public static final SctpSocketOption SCTP_FRAGMENT_INTERLEAVE = + new SctpStdSocketOption("SCTP_FRAGMENT_INTERLEAVE", + Integer.class, + sun.nio.ch.SctpStdSocketOption.SCTP_FRAGMENT_INTERLEAVE); + + /** + * The maximum number of streams requested by the local endpoint during + * association initialization. + * + *

The value of this socket option is an {@link + * SctpStandardSocketOptions.InitMaxStreams InitMaxStreams}, that represents + * the maximum number of inbound and outbound streams that an association + * on the channel is prepared to support. + * + *

For an {@link SctpChannel} this option may only be used to + * change the number of inbound/outbound streams prior to connecting. + * + *

For an {@link SctpMultiChannel} this option determines + * the maximum number of inbound/outbound streams new associations setup + * on the channel will be prepared to support. + * + *

For an {@link SctpServerChannel} this option determines the + * maximum number of inbound/outbound streams accepted sockets will + * negotiate with their connecting peer. + * + *

In all cases the value set by this option is used in the negotiation + * of new associations setup on the channel's socket and the actual + * maximum number of inbound/outbound streams that have been negotiated + * with the peer can be retrieved from the appropriate {@link + * Association}. The {@code Association} can be retrieved from the + * {@link AssociationChangeNotification.AssocChangeEvent#COMM_UP COMM_UP} + * {@link AssociationChangeNotification} belonging to that association. + * + *

This value is bounded by the actual implementation. In other + * words the user may be able to support more streams than the Operating + * System. In such a case, the Operating System limit may override the + * value requested by the user. The default value of 0 indicates to use + * the endpoints default value. + */ + public static final SctpSocketOption + SCTP_INIT_MAXSTREAMS = + new SctpStdSocketOption( + "SCTP_INIT_MAXSTREAMS", SctpStandardSocketOptions.InitMaxStreams.class); + + /** + * Enables or disables a Nagle-like algorithm. + * + *

The value of this socket option is a {@code Boolean} that represents + * whether the option is enabled or disabled. SCTP uses an algorithm like + * The Nagle Algorithm to coalesce short segments and + * improve network efficiency. + */ + public static final SctpSocketOption SCTP_NODELAY = + new SctpStdSocketOption("SCTP_NODELAY", Boolean.class, + sun.nio.ch.SctpStdSocketOption.SCTP_NODELAY); + + /** + * Requests that the local SCTP stack use the given peer address as + * the association primary. + * + *

The value of this socket option is a {@code SocketAddress} + * that represents the peer address that the local SCTP stack should use as + * the association primary. The address must be one of the association + * peer's addresses. + * + *

An {@code SctpMultiChannel} can control more than one + * association, the association parameter must be given when setting or + * retrieving this option. + * + *

Since {@code SctpChannel} only controls one association, + * the association parameter is not required and this option can be + * set or queried directly. + */ + public static final SctpSocketOption SCTP_PRIMARY_ADDR = + new SctpStdSocketOption + ("SCTP_PRIMARY_ADDR", SocketAddress.class); + + /** + * Requests that the peer mark the enclosed address as the association + * primary. + * + *

The value of this socket option is a {@code SocketAddress} + * that represents the local address that the peer should use as its + * primary address. The given address must be one of the association's + * locally bound addresses. + * + *

An {@code SctpMultiChannel} can control more than one + * association, the association parameter must be given when setting or + * retrieving this option. + * + *

Since {@code SctpChannel} only controls one association, + * the association parameter is not required and this option can be + * queried directly. + * + *

Note, this is a set only option and cannot be retrieved by {@code + * getOption}. It is implementation specific whether or not this + * option is supported. + */ + public static final SctpSocketOption SCTP_SET_PEER_PRIMARY_ADDR = + new SctpStdSocketOption + ("SCTP_SET_PEER_PRIMARY_ADDR", SocketAddress.class); + + /** + * The size of the socket send buffer. + * + *

The value of this socket option is an {@code Integer} that is the + * size of the socket send buffer in bytes. The socket send buffer is an + * output buffer used by the networking implementation. It may need to be + * increased for high-volume connections. The value of the socket option is + * a hint to the implementation to size the buffer and the actual + * size may differ. The socket option can be queried to retrieve the actual + * size. + * + *

For {@code SctpChannel}, this controls the amount of data + * the SCTP stack may have waiting in internal buffers to be sent. This + * option therefore bounds the maximum size of data that can be sent in a + * single send call. + * + *

For {@code SctpMultiChannel}, the effect is the same as for {@code + * SctpChannel}, except that it applies to all associations. The option + * applies to each association's window size separately. + * + *

An implementation allows this socket option to be set before the + * socket is bound or connected. Whether an implementation allows the + * socket send buffer to be changed after the socket is bound is system + * dependent. + */ + public static final SctpSocketOption SO_SNDBUF = + new SctpStdSocketOption("SO_SNDBUF", Integer.class, + sun.nio.ch.SctpStdSocketOption.SO_SNDBUF); + + /** + * The size of the socket receive buffer. + * + *

The value of this socket option is an {@code Integer} that is the + * size of the socket receive buffer in bytes. The socket receive buffer is + * an input buffer used by the networking implementation. It may need to be + * increased for high-volume connections or decreased to limit the possible + * backlog of incoming data. The value of the socket option is a + * hint to the implementation to size the buffer and the actual + * size may differ. + * + *

For {@code SctpChannel}, this controls the receiver window size. + * + *

For {@code SctpMultiChannel}, the meaning is implementation + * dependent. It might control the receive buffer for each association bound + * to the socket descriptor or it might control the receive buffer for the + * whole socket. + * + *

An implementation allows this socket option to be set before the + * socket is bound or connected. Whether an implementation allows the + * socket receive buffer to be changed after the socket is bound is system + * dependent. + */ + public static final SctpSocketOption SO_RCVBUF = + new SctpStdSocketOption("SO_RCVBUF", Integer.class, + sun.nio.ch.SctpStdSocketOption.SO_RCVBUF); + + /** + * Linger on close if data is present. + * + *

The value of this socket option is an {@code Integer} that controls + * the action taken when unsent data is queued on the socket and a method + * to close the socket is invoked. If the value of the socket option is zero + * or greater, then it represents a timeout value, in seconds, known as the + * linger interval. The linger interval is the timeout for the + * {@code close} method to block while the operating system attempts to + * transmit the unsent data or it decides that it is unable to transmit the + * data. If the value of the socket option is less than zero then the option + * is disabled. In that case the {@code close} method does not wait until + * unsent data is transmitted; if possible the operating system will transmit + * any unsent data before the connection is closed. + * + *

This socket option is intended for use with sockets that are configured + * in {@link java.nio.channels.SelectableChannel#isBlocking() blocking} mode + * only. The behavior of the {@code close} method when this option is + * enabled on a non-blocking socket is not defined. + * + *

The initial value of this socket option is a negative value, meaning + * that the option is disabled. The option may be enabled, or the linger + * interval changed, at any time. The maximum value of the linger interval + * is system dependent. Setting the linger interval to a value that is + * greater than its maximum value causes the linger interval to be set to + * its maximum value. + */ + public static final SctpSocketOption SO_LINGER = + new SctpStdSocketOption("SO_LINGER", Integer.class, + sun.nio.ch.SctpStdSocketOption.SO_LINGER); + + /** + * This class is used to set the maximum number of inbound/outbound streams + * used by the local endpoint during association initialization. An + * instance of this class is used to set the {@link + * SctpStandardSocketOptions#SCTP_INIT_MAXSTREAMS SCTP_INIT_MAXSTREAMS} + * socket option. + * + * @since 1.7 + */ + public static class InitMaxStreams { + private int maxInStreams; + private int maxOutStreams; + + private InitMaxStreams(int maxInStreams, int maxOutStreams) { + this.maxInStreams = maxInStreams; + this.maxOutStreams = maxOutStreams; + } + + /** + * Creates an InitMaxStreams instance. + * + * @param maxInStreams + * The maximum number of inbound streams, where + * {@code 0 <= maxInStreams <= 65536} + * + * @param maxOutStreams + * The maximum number of outbound streams, where + * {@code 0 <= maxOutStreams <= 65536} + * + * @return An {@code InitMaxStreams} instance + * + * @throws IllegalArgumentException + * If an argument is outside of specified bounds + */ + public static InitMaxStreams create + (int maxInStreams, int maxOutStreams) { + if (maxOutStreams < 0 || maxOutStreams > 65535) + throw new IllegalArgumentException( + "Invalid maxOutStreams value"); + if (maxInStreams < 0 || maxInStreams > 65535) + throw new IllegalArgumentException( + "Invalid maxInStreams value"); + + return new InitMaxStreams(maxInStreams, maxOutStreams); + } + + /** + * Returns the maximum number of inbound streams. + * + * @return Maximum inbound streams + */ + public int maxInStreams() { + return maxInStreams; + } + + /** + * Returns the maximum number of outbound streams. + * + * @return Maximum outbound streams + */ + public int maxOutStreams() { + return maxOutStreams; + } + + /** + * Returns a string representation of this init max streams, including + * the maximum in and out bound streams. + * + * @return A string representation of this init max streams + */ + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(super.toString()).append(" ["); + sb.append("maxInStreams:").append(maxInStreams); + sb.append("maxOutStreams:").append(maxOutStreams).append("]"); + return sb.toString(); + } + + /** + * Returns true if the specified object is another {@code InitMaxStreams} + * instance with the same number of in and out bound streams. + * + * @param obj + * The object to be compared with this init max streams + * + * @return true if the specified object is another + * {@code InitMaxStreams} instance with the same number of in + * and out bound streams + */ + @Override + public boolean equals(Object obj) { + if (obj != null && obj instanceof InitMaxStreams) { + InitMaxStreams that = (InitMaxStreams) obj; + if (this.maxInStreams == that.maxInStreams && + this.maxOutStreams == that.maxOutStreams) + return true; + } + return false; + } + + /** + * Returns a hash code value for this init max streams. + */ + @Override + public int hashCode() { + int hash = 7 ^ maxInStreams ^ maxOutStreams; + return hash; + } + } +} diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/net/SocketOption.java --- a/jdk/src/share/classes/java/net/SocketOption.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/java/net/SocketOption.java Mon May 09 18:45:33 2011 +0100 @@ -38,7 +38,7 @@ * * @since 1.7 * - * @see StandardSocketOption + * @see StandardSocketOptions */ public interface SocketOption { diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/net/StandardSocketOption.java --- a/jdk/src/share/classes/java/net/StandardSocketOption.java Mon May 09 08:58:00 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,367 +0,0 @@ -/* - * Copyright (c) 2007, 2009, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package java.net; - -/** - * Defines the standard socket options. - * - *

The {@link SocketOption#name name} of each socket option defined by this - * class is its field name. - * - *

In this release, the socket options defined here are used by {@link - * java.nio.channels.NetworkChannel network} channels in the {@link - * java.nio.channels channels} package. - * - * @since 1.7 - */ - -public final class StandardSocketOption { - private StandardSocketOption() { } - - // -- SOL_SOCKET -- - - /** - * Allow transmission of broadcast datagrams. - * - *

The value of this socket option is a {@code Boolean} that represents - * whether the option is enabled or disabled. The option is specific to - * datagram-oriented sockets sending to {@link java.net.Inet4Address IPv4} - * broadcast addresses. When the socket option is enabled then the socket - * can be used to send broadcast datagrams. - * - *

The initial value of this socket option is {@code FALSE}. The socket - * option may be enabled or disabled at any time. Some operating systems may - * require that the Java virtual machine be started with implementation - * specific privileges to enable this option or send broadcast datagrams. - * - * @see RFC 929: - * Broadcasting Internet Datagrams - * @see DatagramSocket#setBroadcast - */ - public static final SocketOption SO_BROADCAST = - new StdSocketOption("SO_BROADCAST", Boolean.class); - - /** - * Keep connection alive. - * - *

The value of this socket option is a {@code Boolean} that represents - * whether the option is enabled or disabled. When the {@code SO_KEEPALIVE} - * option is enabled the operating system may use a keep-alive - * mechanism to periodically probe the other end of a connection when the - * connection is otherwise idle. The exact semantics of the keep alive - * mechanism is system dependent and therefore unspecified. - * - *

The initial value of this socket option is {@code FALSE}. The socket - * option may be enabled or disabled at any time. - * - * @see RFC 1122 - * Requirements for Internet Hosts -- Communication Layers - * @see Socket#setKeepAlive - */ - public static final SocketOption SO_KEEPALIVE = - new StdSocketOption("SO_KEEPALIVE", Boolean.class); - - /** - * The size of the socket send buffer. - * - *

The value of this socket option is an {@code Integer} that is the - * size of the socket send buffer in bytes. The socket send buffer is an - * output buffer used by the networking implementation. It may need to be - * increased for high-volume connections. The value of the socket option is - * a hint to the implementation to size the buffer and the actual - * size may differ. The socket option can be queried to retrieve the actual - * size. - * - *

For datagram-oriented sockets, the size of the send buffer may limit - * the size of the datagrams that may be sent by the socket. Whether - * datagrams larger than the buffer size are sent or discarded is system - * dependent. - * - *

The initial/default size of the socket send buffer and the range of - * allowable values is system dependent although a negative size is not - * allowed. An attempt to set the socket send buffer to larger than its - * maximum size causes it to be set to its maximum size. - * - *

An implementation allows this socket option to be set before the - * socket is bound or connected. Whether an implementation allows the - * socket send buffer to be changed after the socket is bound is system - * dependent. - * - * @see Socket#setSendBufferSize - */ - public static final SocketOption SO_SNDBUF = - new StdSocketOption("SO_SNDBUF", Integer.class); - - - /** - * The size of the socket receive buffer. - * - *

The value of this socket option is an {@code Integer} that is the - * size of the socket receive buffer in bytes. The socket receive buffer is - * an input buffer used by the networking implementation. It may need to be - * increased for high-volume connections or decreased to limit the possible - * backlog of incoming data. The value of the socket option is a - * hint to the implementation to size the buffer and the actual - * size may differ. - * - *

For datagram-oriented sockets, the size of the receive buffer may - * limit the size of the datagrams that can be received. Whether datagrams - * larger than the buffer size can be received is system dependent. - * Increasing the socket receive buffer may be important for cases where - * datagrams arrive in bursts faster than they can be processed. - * - *

In the case of stream-oriented sockets and the TCP/IP protocol, the - * size of the socket receive buffer may be used when advertising the size - * of the TCP receive window to the remote peer. - * - *

The initial/default size of the socket receive buffer and the range - * of allowable values is system dependent although a negative size is not - * allowed. An attempt to set the socket receive buffer to larger than its - * maximum size causes it to be set to its maximum size. - * - *

An implementation allows this socket option to be set before the - * socket is bound or connected. Whether an implementation allows the - * socket receive buffer to be changed after the socket is bound is system - * dependent. - * - * @see RFC 1323: TCP - * Extensions for High Performance - * @see Socket#setReceiveBufferSize - * @see ServerSocket#setReceiveBufferSize - */ - public static final SocketOption SO_RCVBUF = - new StdSocketOption("SO_RCVBUF", Integer.class); - - /** - * Re-use address. - * - *

The value of this socket option is a {@code Boolean} that represents - * whether the option is enabled or disabled. The exact semantics of this - * socket option are socket type and system dependent. - * - *

In the case of stream-oriented sockets, this socket option will - * usually determine whether the socket can be bound to a socket address - * when a previous connection involving that socket address is in the - * TIME_WAIT state. On implementations where the semantics differ, - * and the socket option is not required to be enabled in order to bind the - * socket when a previous connection is in this state, then the - * implementation may choose to ignore this option. - * - *

For datagram-oriented sockets the socket option is used to allow - * multiple programs bind to the same address. This option should be enabled - * when the socket is to be used for Internet Protocol (IP) multicasting. - * - *

An implementation allows this socket option to be set before the - * socket is bound or connected. Changing the value of this socket option - * after the socket is bound has no effect. The default value of this - * socket option is system dependent. - * - * @see RFC 793: Transmission - * Control Protocol - * @see ServerSocket#setReuseAddress - */ - public static final SocketOption SO_REUSEADDR = - new StdSocketOption("SO_REUSEADDR", Boolean.class); - - /** - * Linger on close if data is present. - * - *

The value of this socket option is an {@code Integer} that controls - * the action taken when unsent data is queued on the socket and a method - * to close the socket is invoked. If the value of the socket option is zero - * or greater, then it represents a timeout value, in seconds, known as the - * linger interval. The linger interval is the timeout for the - * {@code close} method to block while the operating system attempts to - * transmit the unsent data or it decides that it is unable to transmit the - * data. If the value of the socket option is less than zero then the option - * is disabled. In that case the {@code close} method does not wait until - * unsent data is transmitted; if possible the operating system will transmit - * any unsent data before the connection is closed. - * - *

This socket option is intended for use with sockets that are configured - * in {@link java.nio.channels.SelectableChannel#isBlocking() blocking} mode - * only. The behavior of the {@code close} method when this option is - * enabled on a non-blocking socket is not defined. - * - *

The initial value of this socket option is a negative value, meaning - * that the option is disabled. The option may be enabled, or the linger - * interval changed, at any time. The maximum value of the linger interval - * is system dependent. Setting the linger interval to a value that is - * greater than its maximum value causes the linger interval to be set to - * its maximum value. - * - * @see Socket#setSoLinger - */ - public static final SocketOption SO_LINGER = - new StdSocketOption("SO_LINGER", Integer.class); - - - // -- IPPROTO_IP -- - - /** - * The Type of Service (ToS) octet in the Internet Protocol (IP) header. - * - *

The value of this socket option is an {@code Integer} representing - * the value of the ToS octet in IP packets sent by sockets to an {@link - * StandardProtocolFamily#INET IPv4} socket. The interpretation of the ToS - * octet is network specific and is not defined by this class. Further - * information on the ToS octet can be found in RFC 1349 and RFC 2474. The value - * of the socket option is a hint. An implementation may ignore the - * value, or ignore specific values. - * - *

The initial/default value of the TOS field in the ToS octet is - * implementation specific but will typically be {@code 0}. For - * datagram-oriented sockets the option may be configured at any time after - * the socket has been bound. The new value of the octet is used when sending - * subsequent datagrams. It is system dependent whether this option can be - * queried or changed prior to binding the socket. - * - *

The behavior of this socket option on a stream-oriented socket, or an - * {@link StandardProtocolFamily#INET6 IPv6} socket, is not defined in this - * release. - * - * @see DatagramSocket#setTrafficClass - */ - public static final SocketOption IP_TOS = - new StdSocketOption("IP_TOS", Integer.class); - - /** - * The network interface for Internet Protocol (IP) multicast datagrams. - * - *

The value of this socket option is a {@link NetworkInterface} that - * represents the outgoing interface for multicast datagrams sent by the - * datagram-oriented socket. For {@link StandardProtocolFamily#INET6 IPv6} - * sockets then it is system dependent whether setting this option also - * sets the outgoing interface for multlicast datagrams sent to IPv4 - * addresses. - * - *

The initial/default value of this socket option may be {@code null} - * to indicate that outgoing interface will be selected by the operating - * system, typically based on the network routing tables. An implementation - * allows this socket option to be set after the socket is bound. Whether - * the socket option can be queried or changed prior to binding the socket - * is system dependent. - * - * @see java.nio.channels.MulticastChannel - * @see MulticastSocket#setInterface - */ - public static final SocketOption IP_MULTICAST_IF = - new StdSocketOption("IP_MULTICAST_IF", NetworkInterface.class); - - /** - * The time-to-live for Internet Protocol (IP) multicast datagrams. - * - *

The value of this socket option is an {@code Integer} in the range - * 0 <= value <= 255. It is used to control - * the scope of multicast datagrams sent by the datagram-oriented socket. - * In the case of an {@link StandardProtocolFamily#INET IPv4} socket - * the option is the time-to-live (TTL) on multicast datagrams sent by the - * socket. Datagrams with a TTL of zero are not transmitted on the network - * but may be delivered locally. In the case of an {@link - * StandardProtocolFamily#INET6 IPv6} socket the option is the - * hop limit which is number of hops that the datagram can - * pass through before expiring on the network. For IPv6 sockets it is - * system dependent whether the option also sets the time-to-live - * on multicast datagrams sent to IPv4 addresses. - * - *

The initial/default value of the time-to-live setting is typically - * {@code 1}. An implementation allows this socket option to be set after - * the socket is bound. Whether the socket option can be queried or changed - * prior to binding the socket is system dependent. - * - * @see java.nio.channels.MulticastChannel - * @see MulticastSocket#setTimeToLive - */ - public static final SocketOption IP_MULTICAST_TTL = - new StdSocketOption("IP_MULTICAST_TTL", Integer.class); - - /** - * Loopback for Internet Protocol (IP) multicast datagrams. - * - *

The value of this socket option is a {@code Boolean} that controls - * the loopback of multicast datagrams. The value of the socket - * option represents if the option is enabled or disabled. - * - *

The exact semantics of this socket options are system dependent. - * In particular, it is system dependent whether the loopback applies to - * multicast datagrams sent from the socket or received by the socket. - * For {@link StandardProtocolFamily#INET6 IPv6} sockets then it is - * system dependent whether the option also applies to multicast datagrams - * sent to IPv4 addresses. - * - *

The initial/default value of this socket option is {@code TRUE}. An - * implementation allows this socket option to be set after the socket is - * bound. Whether the socket option can be queried or changed prior to - * binding the socket is system dependent. - * - * @see java.nio.channels.MulticastChannel - * @see MulticastSocket#setLoopbackMode - */ - public static final SocketOption IP_MULTICAST_LOOP = - new StdSocketOption("IP_MULTICAST_LOOP", Boolean.class); - - - // -- IPPROTO_TCP -- - - /** - * Disable the Nagle algorithm. - * - *

The value of this socket option is a {@code Boolean} that represents - * whether the option is enabled or disabled. The socket option is specific to - * stream-oriented sockets using the TCP/IP protocol. TCP/IP uses an algorithm - * known as The Nagle Algorithm to coalesce short segments and - * improve network efficiency. - * - *

The default value of this socket option is {@code FALSE}. The - * socket option should only be enabled in cases where it is known that the - * coalescing impacts performance. The socket option may be enabled at any - * time. In other words, the Nagle Algorithm can be disabled. Once the option - * is enabled, it is system dependent whether it can be subsequently - * disabled. If it cannot, then invoking the {@code setOption} method to - * disable the option has no effect. - * - * @see RFC 1122: - * Requirements for Internet Hosts -- Communication Layers - * @see Socket#setTcpNoDelay - */ - public static final SocketOption TCP_NODELAY = - new StdSocketOption("TCP_NODELAY", Boolean.class); - - - private static class StdSocketOption implements SocketOption { - private final String name; - private final Class type; - StdSocketOption(String name, Class type) { - this.name = name; - this.type = type; - } - @Override public String name() { return name; } - @Override public Class type() { return type; } - @Override public String toString() { return name; } - } -} diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/net/StandardSocketOptions.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/share/classes/java/net/StandardSocketOptions.java Mon May 09 18:45:33 2011 +0100 @@ -0,0 +1,367 @@ +/* + * Copyright (c) 2007, 2009, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package java.net; + +/** + * Defines the standard socket options. + * + *

The {@link SocketOption#name name} of each socket option defined by this + * class is its field name. + * + *

In this release, the socket options defined here are used by {@link + * java.nio.channels.NetworkChannel network} channels in the {@link + * java.nio.channels channels} package. + * + * @since 1.7 + */ + +public final class StandardSocketOptions { + private StandardSocketOptions() { } + + // -- SOL_SOCKET -- + + /** + * Allow transmission of broadcast datagrams. + * + *

The value of this socket option is a {@code Boolean} that represents + * whether the option is enabled or disabled. The option is specific to + * datagram-oriented sockets sending to {@link java.net.Inet4Address IPv4} + * broadcast addresses. When the socket option is enabled then the socket + * can be used to send broadcast datagrams. + * + *

The initial value of this socket option is {@code FALSE}. The socket + * option may be enabled or disabled at any time. Some operating systems may + * require that the Java virtual machine be started with implementation + * specific privileges to enable this option or send broadcast datagrams. + * + * @see RFC 929: + * Broadcasting Internet Datagrams + * @see DatagramSocket#setBroadcast + */ + public static final SocketOption SO_BROADCAST = + new StdSocketOption("SO_BROADCAST", Boolean.class); + + /** + * Keep connection alive. + * + *

The value of this socket option is a {@code Boolean} that represents + * whether the option is enabled or disabled. When the {@code SO_KEEPALIVE} + * option is enabled the operating system may use a keep-alive + * mechanism to periodically probe the other end of a connection when the + * connection is otherwise idle. The exact semantics of the keep alive + * mechanism is system dependent and therefore unspecified. + * + *

The initial value of this socket option is {@code FALSE}. The socket + * option may be enabled or disabled at any time. + * + * @see RFC 1122 + * Requirements for Internet Hosts -- Communication Layers + * @see Socket#setKeepAlive + */ + public static final SocketOption SO_KEEPALIVE = + new StdSocketOption("SO_KEEPALIVE", Boolean.class); + + /** + * The size of the socket send buffer. + * + *

The value of this socket option is an {@code Integer} that is the + * size of the socket send buffer in bytes. The socket send buffer is an + * output buffer used by the networking implementation. It may need to be + * increased for high-volume connections. The value of the socket option is + * a hint to the implementation to size the buffer and the actual + * size may differ. The socket option can be queried to retrieve the actual + * size. + * + *

For datagram-oriented sockets, the size of the send buffer may limit + * the size of the datagrams that may be sent by the socket. Whether + * datagrams larger than the buffer size are sent or discarded is system + * dependent. + * + *

The initial/default size of the socket send buffer and the range of + * allowable values is system dependent although a negative size is not + * allowed. An attempt to set the socket send buffer to larger than its + * maximum size causes it to be set to its maximum size. + * + *

An implementation allows this socket option to be set before the + * socket is bound or connected. Whether an implementation allows the + * socket send buffer to be changed after the socket is bound is system + * dependent. + * + * @see Socket#setSendBufferSize + */ + public static final SocketOption SO_SNDBUF = + new StdSocketOption("SO_SNDBUF", Integer.class); + + + /** + * The size of the socket receive buffer. + * + *

The value of this socket option is an {@code Integer} that is the + * size of the socket receive buffer in bytes. The socket receive buffer is + * an input buffer used by the networking implementation. It may need to be + * increased for high-volume connections or decreased to limit the possible + * backlog of incoming data. The value of the socket option is a + * hint to the implementation to size the buffer and the actual + * size may differ. + * + *

For datagram-oriented sockets, the size of the receive buffer may + * limit the size of the datagrams that can be received. Whether datagrams + * larger than the buffer size can be received is system dependent. + * Increasing the socket receive buffer may be important for cases where + * datagrams arrive in bursts faster than they can be processed. + * + *

In the case of stream-oriented sockets and the TCP/IP protocol, the + * size of the socket receive buffer may be used when advertising the size + * of the TCP receive window to the remote peer. + * + *

The initial/default size of the socket receive buffer and the range + * of allowable values is system dependent although a negative size is not + * allowed. An attempt to set the socket receive buffer to larger than its + * maximum size causes it to be set to its maximum size. + * + *

An implementation allows this socket option to be set before the + * socket is bound or connected. Whether an implementation allows the + * socket receive buffer to be changed after the socket is bound is system + * dependent. + * + * @see RFC 1323: TCP + * Extensions for High Performance + * @see Socket#setReceiveBufferSize + * @see ServerSocket#setReceiveBufferSize + */ + public static final SocketOption SO_RCVBUF = + new StdSocketOption("SO_RCVBUF", Integer.class); + + /** + * Re-use address. + * + *

The value of this socket option is a {@code Boolean} that represents + * whether the option is enabled or disabled. The exact semantics of this + * socket option are socket type and system dependent. + * + *

In the case of stream-oriented sockets, this socket option will + * usually determine whether the socket can be bound to a socket address + * when a previous connection involving that socket address is in the + * TIME_WAIT state. On implementations where the semantics differ, + * and the socket option is not required to be enabled in order to bind the + * socket when a previous connection is in this state, then the + * implementation may choose to ignore this option. + * + *

For datagram-oriented sockets the socket option is used to allow + * multiple programs bind to the same address. This option should be enabled + * when the socket is to be used for Internet Protocol (IP) multicasting. + * + *

An implementation allows this socket option to be set before the + * socket is bound or connected. Changing the value of this socket option + * after the socket is bound has no effect. The default value of this + * socket option is system dependent. + * + * @see RFC 793: Transmission + * Control Protocol + * @see ServerSocket#setReuseAddress + */ + public static final SocketOption SO_REUSEADDR = + new StdSocketOption("SO_REUSEADDR", Boolean.class); + + /** + * Linger on close if data is present. + * + *

The value of this socket option is an {@code Integer} that controls + * the action taken when unsent data is queued on the socket and a method + * to close the socket is invoked. If the value of the socket option is zero + * or greater, then it represents a timeout value, in seconds, known as the + * linger interval. The linger interval is the timeout for the + * {@code close} method to block while the operating system attempts to + * transmit the unsent data or it decides that it is unable to transmit the + * data. If the value of the socket option is less than zero then the option + * is disabled. In that case the {@code close} method does not wait until + * unsent data is transmitted; if possible the operating system will transmit + * any unsent data before the connection is closed. + * + *

This socket option is intended for use with sockets that are configured + * in {@link java.nio.channels.SelectableChannel#isBlocking() blocking} mode + * only. The behavior of the {@code close} method when this option is + * enabled on a non-blocking socket is not defined. + * + *

The initial value of this socket option is a negative value, meaning + * that the option is disabled. The option may be enabled, or the linger + * interval changed, at any time. The maximum value of the linger interval + * is system dependent. Setting the linger interval to a value that is + * greater than its maximum value causes the linger interval to be set to + * its maximum value. + * + * @see Socket#setSoLinger + */ + public static final SocketOption SO_LINGER = + new StdSocketOption("SO_LINGER", Integer.class); + + + // -- IPPROTO_IP -- + + /** + * The Type of Service (ToS) octet in the Internet Protocol (IP) header. + * + *

The value of this socket option is an {@code Integer} representing + * the value of the ToS octet in IP packets sent by sockets to an {@link + * StandardProtocolFamily#INET IPv4} socket. The interpretation of the ToS + * octet is network specific and is not defined by this class. Further + * information on the ToS octet can be found in RFC 1349 and RFC 2474. The value + * of the socket option is a hint. An implementation may ignore the + * value, or ignore specific values. + * + *

The initial/default value of the TOS field in the ToS octet is + * implementation specific but will typically be {@code 0}. For + * datagram-oriented sockets the option may be configured at any time after + * the socket has been bound. The new value of the octet is used when sending + * subsequent datagrams. It is system dependent whether this option can be + * queried or changed prior to binding the socket. + * + *

The behavior of this socket option on a stream-oriented socket, or an + * {@link StandardProtocolFamily#INET6 IPv6} socket, is not defined in this + * release. + * + * @see DatagramSocket#setTrafficClass + */ + public static final SocketOption IP_TOS = + new StdSocketOption("IP_TOS", Integer.class); + + /** + * The network interface for Internet Protocol (IP) multicast datagrams. + * + *

The value of this socket option is a {@link NetworkInterface} that + * represents the outgoing interface for multicast datagrams sent by the + * datagram-oriented socket. For {@link StandardProtocolFamily#INET6 IPv6} + * sockets then it is system dependent whether setting this option also + * sets the outgoing interface for multlicast datagrams sent to IPv4 + * addresses. + * + *

The initial/default value of this socket option may be {@code null} + * to indicate that outgoing interface will be selected by the operating + * system, typically based on the network routing tables. An implementation + * allows this socket option to be set after the socket is bound. Whether + * the socket option can be queried or changed prior to binding the socket + * is system dependent. + * + * @see java.nio.channels.MulticastChannel + * @see MulticastSocket#setInterface + */ + public static final SocketOption IP_MULTICAST_IF = + new StdSocketOption("IP_MULTICAST_IF", NetworkInterface.class); + + /** + * The time-to-live for Internet Protocol (IP) multicast datagrams. + * + *

The value of this socket option is an {@code Integer} in the range + * 0 <= value <= 255. It is used to control + * the scope of multicast datagrams sent by the datagram-oriented socket. + * In the case of an {@link StandardProtocolFamily#INET IPv4} socket + * the option is the time-to-live (TTL) on multicast datagrams sent by the + * socket. Datagrams with a TTL of zero are not transmitted on the network + * but may be delivered locally. In the case of an {@link + * StandardProtocolFamily#INET6 IPv6} socket the option is the + * hop limit which is number of hops that the datagram can + * pass through before expiring on the network. For IPv6 sockets it is + * system dependent whether the option also sets the time-to-live + * on multicast datagrams sent to IPv4 addresses. + * + *

The initial/default value of the time-to-live setting is typically + * {@code 1}. An implementation allows this socket option to be set after + * the socket is bound. Whether the socket option can be queried or changed + * prior to binding the socket is system dependent. + * + * @see java.nio.channels.MulticastChannel + * @see MulticastSocket#setTimeToLive + */ + public static final SocketOption IP_MULTICAST_TTL = + new StdSocketOption("IP_MULTICAST_TTL", Integer.class); + + /** + * Loopback for Internet Protocol (IP) multicast datagrams. + * + *

The value of this socket option is a {@code Boolean} that controls + * the loopback of multicast datagrams. The value of the socket + * option represents if the option is enabled or disabled. + * + *

The exact semantics of this socket options are system dependent. + * In particular, it is system dependent whether the loopback applies to + * multicast datagrams sent from the socket or received by the socket. + * For {@link StandardProtocolFamily#INET6 IPv6} sockets then it is + * system dependent whether the option also applies to multicast datagrams + * sent to IPv4 addresses. + * + *

The initial/default value of this socket option is {@code TRUE}. An + * implementation allows this socket option to be set after the socket is + * bound. Whether the socket option can be queried or changed prior to + * binding the socket is system dependent. + * + * @see java.nio.channels.MulticastChannel + * @see MulticastSocket#setLoopbackMode + */ + public static final SocketOption IP_MULTICAST_LOOP = + new StdSocketOption("IP_MULTICAST_LOOP", Boolean.class); + + + // -- IPPROTO_TCP -- + + /** + * Disable the Nagle algorithm. + * + *

The value of this socket option is a {@code Boolean} that represents + * whether the option is enabled or disabled. The socket option is specific to + * stream-oriented sockets using the TCP/IP protocol. TCP/IP uses an algorithm + * known as The Nagle Algorithm to coalesce short segments and + * improve network efficiency. + * + *

The default value of this socket option is {@code FALSE}. The + * socket option should only be enabled in cases where it is known that the + * coalescing impacts performance. The socket option may be enabled at any + * time. In other words, the Nagle Algorithm can be disabled. Once the option + * is enabled, it is system dependent whether it can be subsequently + * disabled. If it cannot, then invoking the {@code setOption} method to + * disable the option has no effect. + * + * @see RFC 1122: + * Requirements for Internet Hosts -- Communication Layers + * @see Socket#setTcpNoDelay + */ + public static final SocketOption TCP_NODELAY = + new StdSocketOption("TCP_NODELAY", Boolean.class); + + + private static class StdSocketOption implements SocketOption { + private final String name; + private final Class type; + StdSocketOption(String name, Class type) { + this.name = name; + this.type = type; + } + @Override public String name() { return name; } + @Override public Class type() { return type; } + @Override public String toString() { return name; } + } +} diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java --- a/jdk/src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java Mon May 09 18:45:33 2011 +0100 @@ -58,11 +58,11 @@ * Description * * - * {@link java.net.StandardSocketOption#SO_RCVBUF SO_RCVBUF} + * {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} * The size of the socket receive buffer * * - * {@link java.net.StandardSocketOption#SO_REUSEADDR SO_REUSEADDR} + * {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} * Re-use address * * diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/nio/channels/AsynchronousSocketChannel.java --- a/jdk/src/share/classes/java/nio/channels/AsynchronousSocketChannel.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/java/nio/channels/AsynchronousSocketChannel.java Mon May 09 18:45:33 2011 +0100 @@ -68,23 +68,23 @@ * Description * * - * {@link java.net.StandardSocketOption#SO_SNDBUF SO_SNDBUF} + * {@link java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF} * The size of the socket send buffer * * - * {@link java.net.StandardSocketOption#SO_RCVBUF SO_RCVBUF} + * {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} * The size of the socket receive buffer * * - * {@link java.net.StandardSocketOption#SO_KEEPALIVE SO_KEEPALIVE} + * {@link java.net.StandardSocketOptions#SO_KEEPALIVE SO_KEEPALIVE} * Keep connection alive * * - * {@link java.net.StandardSocketOption#SO_REUSEADDR SO_REUSEADDR} + * {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} * Re-use address * * - * {@link java.net.StandardSocketOption#TCP_NODELAY TCP_NODELAY} + * {@link java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY} * Disable the Nagle algorithm * * diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/nio/channels/DatagramChannel.java --- a/jdk/src/share/classes/java/nio/channels/DatagramChannel.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/java/nio/channels/DatagramChannel.java Mon May 09 18:45:33 2011 +0100 @@ -63,37 +63,37 @@ * Description * * - * {@link java.net.StandardSocketOption#SO_SNDBUF SO_SNDBUF} + * {@link java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF} * The size of the socket send buffer * * - * {@link java.net.StandardSocketOption#SO_RCVBUF SO_RCVBUF} + * {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} * The size of the socket receive buffer * * - * {@link java.net.StandardSocketOption#SO_REUSEADDR SO_REUSEADDR} + * {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} * Re-use address * * - * {@link java.net.StandardSocketOption#SO_BROADCAST SO_BROADCAST} + * {@link java.net.StandardSocketOptions#SO_BROADCAST SO_BROADCAST} * Allow transmission of broadcast datagrams * * - * {@link java.net.StandardSocketOption#IP_TOS IP_TOS} + * {@link java.net.StandardSocketOptions#IP_TOS IP_TOS} * The Type of Service (ToS) octet in the Internet Protocol (IP) header * * - * {@link java.net.StandardSocketOption#IP_MULTICAST_IF IP_MULTICAST_IF} + * {@link java.net.StandardSocketOptions#IP_MULTICAST_IF IP_MULTICAST_IF} * The network interface for Internet Protocol (IP) multicast datagrams * * - * {@link java.net.StandardSocketOption#IP_MULTICAST_TTL + * {@link java.net.StandardSocketOptions#IP_MULTICAST_TTL * IP_MULTICAST_TTL} * The time-to-live for Internet Protocol (IP) multicast * datagrams * * - * {@link java.net.StandardSocketOption#IP_MULTICAST_LOOP + * {@link java.net.StandardSocketOptions#IP_MULTICAST_LOOP * IP_MULTICAST_LOOP} * Loopback for Internet Protocol (IP) multicast datagrams * diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/nio/channels/MulticastChannel.java --- a/jdk/src/share/classes/java/nio/channels/MulticastChannel.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/java/nio/channels/MulticastChannel.java Mon May 09 18:45:33 2011 +0100 @@ -30,7 +30,7 @@ import java.io.IOException; import java.net.ProtocolFamily; // javadoc import java.net.StandardProtocolFamily; // javadoc -import java.net.StandardSocketOption; // javadoc +import java.net.StandardSocketOptions; // javadoc /** * A network channel that supports Internet Protocol (IP) multicasting. @@ -93,7 +93,7 @@ * a specific address, rather than the wildcard address then it is implementation * specific if multicast datagrams are received by the socket.

* - *
  • The {@link StandardSocketOption#SO_REUSEADDR SO_REUSEADDR} option should be + *

  • The {@link StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} option should be * enabled prior to {@link NetworkChannel#bind binding} the socket. This is * required to allow multiple members of the group to bind to the same * address.

  • @@ -107,9 +107,9 @@ * NetworkInterface ni = NetworkInterface.getByName("hme0"); * * DatagramChannel dc = DatagramChannel.open(StandardProtocolFamily.INET) - * .setOption(StandardSocketOption.SO_REUSEADDR, true) + * .setOption(StandardSocketOptions.SO_REUSEADDR, true) * .bind(new InetSocketAddress(5000)) - * .setOption(StandardSocketOption.IP_MULTICAST_IF, ni); + * .setOption(StandardSocketOptions.IP_MULTICAST_IF, ni); * * InetAddress group = InetAddress.getByName("225.4.5.6"); * diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/nio/channels/NetworkChannel.java --- a/jdk/src/share/classes/java/nio/channels/NetworkChannel.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/java/nio/channels/NetworkChannel.java Mon May 09 18:45:33 2011 +0100 @@ -124,7 +124,7 @@ * @throws IOException * If an I/O error occurs * - * @see java.net.StandardSocketOption + * @see java.net.StandardSocketOptions */ NetworkChannel setOption(SocketOption name, T value) throws IOException; @@ -144,7 +144,7 @@ * @throws IOException * If an I/O error occurs * - * @see java.net.StandardSocketOption + * @see java.net.StandardSocketOptions */ T getOption(SocketOption name) throws IOException; diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/nio/channels/ServerSocketChannel.java --- a/jdk/src/share/classes/java/nio/channels/ServerSocketChannel.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/java/nio/channels/ServerSocketChannel.java Mon May 09 18:45:33 2011 +0100 @@ -52,11 +52,11 @@ * Description * * - * {@link java.net.StandardSocketOption#SO_RCVBUF SO_RCVBUF} + * {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} * The size of the socket receive buffer * * - * {@link java.net.StandardSocketOption#SO_REUSEADDR SO_REUSEADDR} + * {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} * Re-use address * * diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/nio/channels/SocketChannel.java --- a/jdk/src/share/classes/java/nio/channels/SocketChannel.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/java/nio/channels/SocketChannel.java Mon May 09 18:45:33 2011 +0100 @@ -72,28 +72,28 @@ * Description * * - * {@link java.net.StandardSocketOption#SO_SNDBUF SO_SNDBUF} + * {@link java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF} * The size of the socket send buffer * * - * {@link java.net.StandardSocketOption#SO_RCVBUF SO_RCVBUF} + * {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} * The size of the socket receive buffer * * - * {@link java.net.StandardSocketOption#SO_KEEPALIVE SO_KEEPALIVE} + * {@link java.net.StandardSocketOptions#SO_KEEPALIVE SO_KEEPALIVE} * Keep connection alive * * - * {@link java.net.StandardSocketOption#SO_REUSEADDR SO_REUSEADDR} + * {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} * Re-use address * * - * {@link java.net.StandardSocketOption#SO_LINGER SO_LINGER} + * {@link java.net.StandardSocketOptions#SO_LINGER SO_LINGER} * Linger on close if data is present (when configured in blocking mode * only) * * - * {@link java.net.StandardSocketOption#TCP_NODELAY TCP_NODELAY} + * {@link java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY} * Disable the Nagle algorithm * * diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/nio/file/Path.java --- a/jdk/src/share/classes/java/nio/file/Path.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/java/nio/file/Path.java Mon May 09 18:45:33 2011 +0100 @@ -609,11 +609,11 @@ * directory can be watched. The {@code events} parameter is the events to * register and may contain the following events: *
      - *
    • {@link StandardWatchEventKind#ENTRY_CREATE ENTRY_CREATE} - + *
    • {@link StandardWatchEventKinds#ENTRY_CREATE ENTRY_CREATE} - * entry created or moved into the directory
    • - *
    • {@link StandardWatchEventKind#ENTRY_DELETE ENTRY_DELETE} - + *
    • {@link StandardWatchEventKinds#ENTRY_DELETE ENTRY_DELETE} - * entry deleted or moved out of the directory
    • - *
    • {@link StandardWatchEventKind#ENTRY_MODIFY ENTRY_MODIFY} - + *
    • {@link StandardWatchEventKinds#ENTRY_MODIFY ENTRY_MODIFY} - * entry in directory was modified
    • *
    * @@ -622,7 +622,7 @@ * that locates the directory entry that is created, deleted, or modified. * *

    The set of events may include additional implementation specific - * event that are not defined by the enum {@link StandardWatchEventKind} + * event that are not defined by the enum {@link StandardWatchEventKinds} * *

    The {@code modifiers} parameter specifies modifiers that * qualify how the directory is registered. This release does not define any diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/nio/file/StandardWatchEventKind.java --- a/jdk/src/share/classes/java/nio/file/StandardWatchEventKind.java Mon May 09 08:58:00 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +0,0 @@ -/* - * Copyright (c) 2007, 2009, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code 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 - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package java.nio.file; - -/** - * Defines the standard event kinds. - * - * @since 1.7 - */ - -public final class StandardWatchEventKind { - private StandardWatchEventKind() { } - - /** - * A special event to indicate that events may have been lost or - * discarded. - * - *

    The {@link WatchEvent#context context} for this event is - * implementation specific and may be {@code null}. The event {@link - * WatchEvent#count count} may be greater than {@code 1}. - * - * @see WatchService - */ - public static final WatchEvent.Kind OVERFLOW = - new StdWatchEventKind("OVERFLOW", Void.class); - - /** - * Directory entry created. - * - *

    When a directory is registered for this event then the {@link WatchKey} - * is queued when it is observed that an entry is created in the directory - * or renamed into the directory. The event {@link WatchEvent#count count} - * for this event is always {@code 1}. - */ - public static final WatchEvent.Kind ENTRY_CREATE = - new StdWatchEventKind("ENTRY_CREATE", Path.class); - - /** - * Directory entry deleted. - * - *

    When a directory is registered for this event then the {@link WatchKey} - * is queued when it is observed that an entry is deleted or renamed out of - * the directory. The event {@link WatchEvent#count count} for this event - * is always {@code 1}. - */ - public static final WatchEvent.Kind ENTRY_DELETE = - new StdWatchEventKind("ENTRY_DELETE", Path.class); - - /** - * Directory entry modified. - * - *

    When a directory is registered for this event then the {@link WatchKey} - * is queued when it is observed that an entry in the directory has been - * modified. The event {@link WatchEvent#count count} for this event is - * {@code 1} or greater. - */ - public static final WatchEvent.Kind ENTRY_MODIFY = - new StdWatchEventKind("ENTRY_MODIFY", Path.class); - - private static class StdWatchEventKind implements WatchEvent.Kind { - private final String name; - private final Class type; - StdWatchEventKind(String name, Class type) { - this.name = name; - this.type = type; - } - @Override public String name() { return name; } - @Override public Class type() { return type; } - @Override public String toString() { return name; } - } -} diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/nio/file/StandardWatchEventKinds.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/share/classes/java/nio/file/StandardWatchEventKinds.java Mon May 09 18:45:33 2011 +0100 @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2007, 2009, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package java.nio.file; + +/** + * Defines the standard event kinds. + * + * @since 1.7 + */ + +public final class StandardWatchEventKinds { + private StandardWatchEventKinds() { } + + /** + * A special event to indicate that events may have been lost or + * discarded. + * + *

    The {@link WatchEvent#context context} for this event is + * implementation specific and may be {@code null}. The event {@link + * WatchEvent#count count} may be greater than {@code 1}. + * + * @see WatchService + */ + public static final WatchEvent.Kind OVERFLOW = + new StdWatchEventKind("OVERFLOW", Object.class); + + /** + * Directory entry created. + * + *

    When a directory is registered for this event then the {@link WatchKey} + * is queued when it is observed that an entry is created in the directory + * or renamed into the directory. The event {@link WatchEvent#count count} + * for this event is always {@code 1}. + */ + public static final WatchEvent.Kind ENTRY_CREATE = + new StdWatchEventKind("ENTRY_CREATE", Path.class); + + /** + * Directory entry deleted. + * + *

    When a directory is registered for this event then the {@link WatchKey} + * is queued when it is observed that an entry is deleted or renamed out of + * the directory. The event {@link WatchEvent#count count} for this event + * is always {@code 1}. + */ + public static final WatchEvent.Kind ENTRY_DELETE = + new StdWatchEventKind("ENTRY_DELETE", Path.class); + + /** + * Directory entry modified. + * + *

    When a directory is registered for this event then the {@link WatchKey} + * is queued when it is observed that an entry in the directory has been + * modified. The event {@link WatchEvent#count count} for this event is + * {@code 1} or greater. + */ + public static final WatchEvent.Kind ENTRY_MODIFY = + new StdWatchEventKind("ENTRY_MODIFY", Path.class); + + private static class StdWatchEventKind implements WatchEvent.Kind { + private final String name; + private final Class type; + StdWatchEventKind(String name, Class type) { + this.name = name; + this.type = type; + } + @Override public String name() { return name; } + @Override public Class type() { return type; } + @Override public String toString() { return name; } + } +} diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/nio/file/WatchEvent.java --- a/jdk/src/share/classes/java/nio/file/WatchEvent.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/java/nio/file/WatchEvent.java Mon May 09 18:45:33 2011 +0100 @@ -50,7 +50,7 @@ * An event kind, for the purposes of identification. * * @since 1.7 - * @see StandardWatchEventKind + * @see StandardWatchEventKinds */ public static interface Kind { /** @@ -98,9 +98,9 @@ /** * Returns the context for the event. * - *

    In the case of {@link StandardWatchEventKind#ENTRY_CREATE ENTRY_CREATE}, - * {@link StandardWatchEventKind#ENTRY_DELETE ENTRY_DELETE}, and {@link - * StandardWatchEventKind#ENTRY_MODIFY ENTRY_MODIFY} events the context is + *

    In the case of {@link StandardWatchEventKinds#ENTRY_CREATE ENTRY_CREATE}, + * {@link StandardWatchEventKinds#ENTRY_DELETE ENTRY_DELETE}, and {@link + * StandardWatchEventKinds#ENTRY_MODIFY ENTRY_MODIFY} events the context is * a {@code Path} that is the {@link Path#relativize relative} path between * the directory registered with the watch service, and the entry that is * created, deleted, or modified. diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/nio/file/WatchService.java --- a/jdk/src/share/classes/java/nio/file/WatchService.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/java/nio/file/WatchService.java Mon May 09 18:45:33 2011 +0100 @@ -68,7 +68,7 @@ * of events that it may accumulate. Where an implementation knowingly * discards events then it arranges for the key's {@link WatchKey#pollEvents * pollEvents} method to return an element with an event type of {@link - * StandardWatchEventKind#OVERFLOW OVERFLOW}. This event can be used by the + * StandardWatchEventKinds#OVERFLOW OVERFLOW}. This event can be used by the * consumer as a trigger to re-examine the state of the object. * *

    When an event is reported to indicate that a file in a watched directory @@ -87,7 +87,7 @@ * are detected, their timeliness, and whether their ordering is preserved are * highly implementation specific. For example, when a file in a watched * directory is modified then it may result in a single {@link - * StandardWatchEventKind#ENTRY_MODIFY ENTRY_MODIFY} event in some + * StandardWatchEventKinds#ENTRY_MODIFY ENTRY_MODIFY} event in some * implementations but several events in other implementations. Short-lived * files (meaning files that are deleted very quickly after they are created) * may not be detected by primitive implementations that periodically poll the diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/java/nio/file/Watchable.java --- a/jdk/src/share/classes/java/nio/file/Watchable.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/java/nio/file/Watchable.java Mon May 09 18:45:33 2011 +0100 @@ -53,7 +53,7 @@ * those specified by the {@code events} and {@code modifiers} parameters. * Changing the event set does not cause pending events for the object to be * discarded. Objects are automatically registered for the {@link - * StandardWatchEventKind#OVERFLOW OVERFLOW} event. This event is not + * StandardWatchEventKinds#OVERFLOW OVERFLOW} event. This event is not * required to be present in the array of events. * *

    Otherwise the file system object has not yet been registered with the diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java --- a/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java Mon May 09 18:45:33 2011 +0100 @@ -28,7 +28,7 @@ import java.nio.channels.*; import java.net.SocketAddress; import java.net.SocketOption; -import java.net.StandardSocketOption; +import java.net.StandardSocketOptions; import java.net.InetSocketAddress; import java.io.FileDescriptor; import java.io.IOException; @@ -214,8 +214,8 @@ private static Set> defaultOptions() { HashSet> set = new HashSet>(2); - set.add(StandardSocketOption.SO_RCVBUF); - set.add(StandardSocketOption.SO_REUSEADDR); + set.add(StandardSocketOptions.SO_RCVBUF); + set.add(StandardSocketOptions.SO_REUSEADDR); return Collections.unmodifiableSet(set); } } diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java --- a/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java Mon May 09 18:45:33 2011 +0100 @@ -28,7 +28,7 @@ import java.nio.ByteBuffer; import java.nio.channels.*; import java.net.SocketOption; -import java.net.StandardSocketOption; +import java.net.StandardSocketOptions; import java.net.SocketAddress; import java.net.InetSocketAddress; import java.io.IOException; @@ -483,11 +483,11 @@ private static Set> defaultOptions() { HashSet> set = new HashSet>(5); - set.add(StandardSocketOption.SO_SNDBUF); - set.add(StandardSocketOption.SO_RCVBUF); - set.add(StandardSocketOption.SO_KEEPALIVE); - set.add(StandardSocketOption.SO_REUSEADDR); - set.add(StandardSocketOption.TCP_NODELAY); + set.add(StandardSocketOptions.SO_SNDBUF); + set.add(StandardSocketOptions.SO_RCVBUF); + set.add(StandardSocketOptions.SO_KEEPALIVE); + set.add(StandardSocketOptions.SO_REUSEADDR); + set.add(StandardSocketOptions.TCP_NODELAY); return Collections.unmodifiableSet(set); } } diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/sun/nio/ch/DatagramChannelImpl.java --- a/jdk/src/share/classes/sun/nio/ch/DatagramChannelImpl.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/sun/nio/ch/DatagramChannelImpl.java Mon May 09 18:45:33 2011 +0100 @@ -188,7 +188,7 @@ synchronized (stateLock) { ensureOpen(); - if (name == StandardSocketOption.IP_TOS) { + if (name == StandardSocketOptions.IP_TOS) { // IPv4 only; no-op for IPv6 if (family == StandardProtocolFamily.INET) { Net.setSocketOption(fd, family, name, value); @@ -196,15 +196,15 @@ return this; } - if (name == StandardSocketOption.IP_MULTICAST_TTL || - name == StandardSocketOption.IP_MULTICAST_LOOP) + if (name == StandardSocketOptions.IP_MULTICAST_TTL || + name == StandardSocketOptions.IP_MULTICAST_LOOP) { // options are protocol dependent Net.setSocketOption(fd, family, name, value); return this; } - if (name == StandardSocketOption.IP_MULTICAST_IF) { + if (name == StandardSocketOptions.IP_MULTICAST_IF) { if (value == null) throw new IllegalArgumentException("Cannot set IP_MULTICAST_IF to 'null'"); NetworkInterface interf = (NetworkInterface)value; @@ -243,7 +243,7 @@ synchronized (stateLock) { ensureOpen(); - if (name == StandardSocketOption.IP_TOS) { + if (name == StandardSocketOptions.IP_TOS) { // IPv4 only; always return 0 on IPv6 if (family == StandardProtocolFamily.INET) { return (T) Net.getSocketOption(fd, family, name); @@ -252,13 +252,13 @@ } } - if (name == StandardSocketOption.IP_MULTICAST_TTL || - name == StandardSocketOption.IP_MULTICAST_LOOP) + if (name == StandardSocketOptions.IP_MULTICAST_TTL || + name == StandardSocketOptions.IP_MULTICAST_LOOP) { return (T) Net.getSocketOption(fd, family, name); } - if (name == StandardSocketOption.IP_MULTICAST_IF) { + if (name == StandardSocketOptions.IP_MULTICAST_IF) { if (family == StandardProtocolFamily.INET) { int address = Net.getInterface4(fd); if (address == 0) @@ -291,14 +291,14 @@ private static Set> defaultOptions() { HashSet> set = new HashSet>(8); - set.add(StandardSocketOption.SO_SNDBUF); - set.add(StandardSocketOption.SO_RCVBUF); - set.add(StandardSocketOption.SO_REUSEADDR); - set.add(StandardSocketOption.SO_BROADCAST); - set.add(StandardSocketOption.IP_TOS); - set.add(StandardSocketOption.IP_MULTICAST_IF); - set.add(StandardSocketOption.IP_MULTICAST_TTL); - set.add(StandardSocketOption.IP_MULTICAST_LOOP); + set.add(StandardSocketOptions.SO_SNDBUF); + set.add(StandardSocketOptions.SO_RCVBUF); + set.add(StandardSocketOptions.SO_REUSEADDR); + set.add(StandardSocketOptions.SO_BROADCAST); + set.add(StandardSocketOptions.IP_TOS); + set.add(StandardSocketOptions.IP_MULTICAST_IF); + set.add(StandardSocketOptions.IP_MULTICAST_TTL); + set.add(StandardSocketOptions.IP_MULTICAST_LOOP); return Collections.unmodifiableSet(set); } } diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/sun/nio/ch/DatagramSocketAdaptor.java --- a/jdk/src/share/classes/sun/nio/ch/DatagramSocketAdaptor.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/sun/nio/ch/DatagramSocketAdaptor.java Mon May 09 18:45:33 2011 +0100 @@ -312,46 +312,46 @@ public void setSendBufferSize(int size) throws SocketException { if (size <= 0) throw new IllegalArgumentException("Invalid send size"); - setIntOption(StandardSocketOption.SO_SNDBUF, size); + setIntOption(StandardSocketOptions.SO_SNDBUF, size); } public int getSendBufferSize() throws SocketException { - return getIntOption(StandardSocketOption.SO_SNDBUF); + return getIntOption(StandardSocketOptions.SO_SNDBUF); } public void setReceiveBufferSize(int size) throws SocketException { if (size <= 0) throw new IllegalArgumentException("Invalid receive size"); - setIntOption(StandardSocketOption.SO_RCVBUF, size); + setIntOption(StandardSocketOptions.SO_RCVBUF, size); } public int getReceiveBufferSize() throws SocketException { - return getIntOption(StandardSocketOption.SO_RCVBUF); + return getIntOption(StandardSocketOptions.SO_RCVBUF); } public void setReuseAddress(boolean on) throws SocketException { - setBooleanOption(StandardSocketOption.SO_REUSEADDR, on); + setBooleanOption(StandardSocketOptions.SO_REUSEADDR, on); } public boolean getReuseAddress() throws SocketException { - return getBooleanOption(StandardSocketOption.SO_REUSEADDR); + return getBooleanOption(StandardSocketOptions.SO_REUSEADDR); } public void setBroadcast(boolean on) throws SocketException { - setBooleanOption(StandardSocketOption.SO_BROADCAST, on); + setBooleanOption(StandardSocketOptions.SO_BROADCAST, on); } public boolean getBroadcast() throws SocketException { - return getBooleanOption(StandardSocketOption.SO_BROADCAST); + return getBooleanOption(StandardSocketOptions.SO_BROADCAST); } public void setTrafficClass(int tc) throws SocketException { - setIntOption(StandardSocketOption.IP_TOS, tc); + setIntOption(StandardSocketOptions.IP_TOS, tc); } public int getTrafficClass() throws SocketException { - return getIntOption(StandardSocketOption.IP_TOS); + return getIntOption(StandardSocketOptions.IP_TOS); } public void close() { diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/sun/nio/ch/ExtendedSocketOption.java --- a/jdk/src/share/classes/sun/nio/ch/ExtendedSocketOption.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/sun/nio/ch/ExtendedSocketOption.java Mon May 09 18:45:33 2011 +0100 @@ -29,7 +29,7 @@ /** * Defines socket options that are supported by the implementation - * but not defined in StandardSocketOption. + * but not defined in StandardSocketOptions. */ class ExtendedSocketOption { diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/sun/nio/ch/Net.java --- a/jdk/src/share/classes/sun/nio/ch/Net.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/sun/nio/ch/Net.java Mon May 09 18:45:33 2011 +0100 @@ -237,26 +237,26 @@ throw new AssertionError("Should not reach here"); // special handling - if (name == StandardSocketOption.SO_RCVBUF || - name == StandardSocketOption.SO_SNDBUF) + if (name == StandardSocketOptions.SO_RCVBUF || + name == StandardSocketOptions.SO_SNDBUF) { int i = ((Integer)value).intValue(); if (i < 0) throw new IllegalArgumentException("Invalid send/receive buffer size"); } - if (name == StandardSocketOption.SO_LINGER) { + if (name == StandardSocketOptions.SO_LINGER) { int i = ((Integer)value).intValue(); if (i < 0) value = Integer.valueOf(-1); if (i > 65535) value = Integer.valueOf(65535); } - if (name == StandardSocketOption.IP_TOS) { + if (name == StandardSocketOptions.IP_TOS) { int i = ((Integer)value).intValue(); if (i < 0 || i > 255) throw new IllegalArgumentException("Invalid IP_TOS value"); } - if (name == StandardSocketOption.IP_MULTICAST_TTL) { + if (name == StandardSocketOptions.IP_MULTICAST_TTL) { int i = ((Integer)value).intValue(); if (i < 0 || i > 255) throw new IllegalArgumentException("Invalid TTL/hop value"); diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/sun/nio/ch/ServerSocketAdaptor.java --- a/jdk/src/share/classes/sun/nio/ch/ServerSocketAdaptor.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/sun/nio/ch/ServerSocketAdaptor.java Mon May 09 18:45:33 2011 +0100 @@ -169,7 +169,7 @@ public void setReuseAddress(boolean on) throws SocketException { try { - ssc.setOption(StandardSocketOption.SO_REUSEADDR, on); + ssc.setOption(StandardSocketOptions.SO_REUSEADDR, on); } catch (IOException x) { Net.translateToSocketException(x); } @@ -177,7 +177,7 @@ public boolean getReuseAddress() throws SocketException { try { - return ssc.getOption(StandardSocketOption.SO_REUSEADDR).booleanValue(); + return ssc.getOption(StandardSocketOptions.SO_REUSEADDR).booleanValue(); } catch (IOException x) { Net.translateToSocketException(x); return false; // Never happens @@ -197,7 +197,7 @@ if (size <= 0) throw new IllegalArgumentException("size cannot be 0 or negative"); try { - ssc.setOption(StandardSocketOption.SO_RCVBUF, size); + ssc.setOption(StandardSocketOptions.SO_RCVBUF, size); } catch (IOException x) { Net.translateToSocketException(x); } @@ -205,7 +205,7 @@ public int getReceiveBufferSize() throws SocketException { try { - return ssc.getOption(StandardSocketOption.SO_RCVBUF).intValue(); + return ssc.getOption(StandardSocketOptions.SO_RCVBUF).intValue(); } catch (IOException x) { Net.translateToSocketException(x); return -1; // Never happens diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java --- a/jdk/src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java Mon May 09 18:45:33 2011 +0100 @@ -160,8 +160,8 @@ private static Set> defaultOptions() { HashSet> set = new HashSet>(2); - set.add(StandardSocketOption.SO_RCVBUF); - set.add(StandardSocketOption.SO_REUSEADDR); + set.add(StandardSocketOptions.SO_RCVBUF); + set.add(StandardSocketOptions.SO_REUSEADDR); return Collections.unmodifiableSet(set); } } diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/sun/nio/ch/SocketAdaptor.java --- a/jdk/src/share/classes/sun/nio/ch/SocketAdaptor.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/sun/nio/ch/SocketAdaptor.java Mon May 09 18:45:33 2011 +0100 @@ -318,21 +318,21 @@ } public void setTcpNoDelay(boolean on) throws SocketException { - setBooleanOption(StandardSocketOption.TCP_NODELAY, on); + setBooleanOption(StandardSocketOptions.TCP_NODELAY, on); } public boolean getTcpNoDelay() throws SocketException { - return getBooleanOption(StandardSocketOption.TCP_NODELAY); + return getBooleanOption(StandardSocketOptions.TCP_NODELAY); } public void setSoLinger(boolean on, int linger) throws SocketException { if (!on) linger = -1; - setIntOption(StandardSocketOption.SO_LINGER, linger); + setIntOption(StandardSocketOptions.SO_LINGER, linger); } public int getSoLinger() throws SocketException { - return getIntOption(StandardSocketOption.SO_LINGER); + return getIntOption(StandardSocketOptions.SO_LINGER); } public void sendUrgentData(int data) throws IOException { @@ -366,46 +366,46 @@ // size 0 valid for SocketChannel, invalid for Socket if (size <= 0) throw new IllegalArgumentException("Invalid send size"); - setIntOption(StandardSocketOption.SO_SNDBUF, size); + setIntOption(StandardSocketOptions.SO_SNDBUF, size); } public int getSendBufferSize() throws SocketException { - return getIntOption(StandardSocketOption.SO_SNDBUF); + return getIntOption(StandardSocketOptions.SO_SNDBUF); } public void setReceiveBufferSize(int size) throws SocketException { // size 0 valid for SocketChannel, invalid for Socket if (size <= 0) throw new IllegalArgumentException("Invalid receive size"); - setIntOption(StandardSocketOption.SO_RCVBUF, size); + setIntOption(StandardSocketOptions.SO_RCVBUF, size); } public int getReceiveBufferSize() throws SocketException { - return getIntOption(StandardSocketOption.SO_RCVBUF); + return getIntOption(StandardSocketOptions.SO_RCVBUF); } public void setKeepAlive(boolean on) throws SocketException { - setBooleanOption(StandardSocketOption.SO_KEEPALIVE, on); + setBooleanOption(StandardSocketOptions.SO_KEEPALIVE, on); } public boolean getKeepAlive() throws SocketException { - return getBooleanOption(StandardSocketOption.SO_KEEPALIVE); + return getBooleanOption(StandardSocketOptions.SO_KEEPALIVE); } public void setTrafficClass(int tc) throws SocketException { - setIntOption(StandardSocketOption.IP_TOS, tc); + setIntOption(StandardSocketOptions.IP_TOS, tc); } public int getTrafficClass() throws SocketException { - return getIntOption(StandardSocketOption.IP_TOS); + return getIntOption(StandardSocketOptions.IP_TOS); } public void setReuseAddress(boolean on) throws SocketException { - setBooleanOption(StandardSocketOption.SO_REUSEADDR, on); + setBooleanOption(StandardSocketOptions.SO_REUSEADDR, on); } public boolean getReuseAddress() throws SocketException { - return getBooleanOption(StandardSocketOption.SO_REUSEADDR); + return getBooleanOption(StandardSocketOptions.SO_REUSEADDR); } public void close() throws IOException { diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java --- a/jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java Mon May 09 18:45:33 2011 +0100 @@ -170,7 +170,7 @@ throw new ClosedChannelException(); // special handling for IP_TOS: no-op when IPv6 - if (name == StandardSocketOption.IP_TOS) { + if (name == StandardSocketOptions.IP_TOS) { if (!Net.isIPv6Available()) Net.setSocketOption(fd, StandardProtocolFamily.INET, name, value); return this; @@ -197,7 +197,7 @@ throw new ClosedChannelException(); // special handling for IP_TOS: always return 0 when IPv6 - if (name == StandardSocketOption.IP_TOS) { + if (name == StandardSocketOptions.IP_TOS) { return (Net.isIPv6Available()) ? (T) Integer.valueOf(0) : (T) Net.getSocketOption(fd, StandardProtocolFamily.INET, name); } @@ -212,14 +212,14 @@ private static Set> defaultOptions() { HashSet> set = new HashSet>(8); - set.add(StandardSocketOption.SO_SNDBUF); - set.add(StandardSocketOption.SO_RCVBUF); - set.add(StandardSocketOption.SO_KEEPALIVE); - set.add(StandardSocketOption.SO_REUSEADDR); - set.add(StandardSocketOption.SO_LINGER); - set.add(StandardSocketOption.TCP_NODELAY); + set.add(StandardSocketOptions.SO_SNDBUF); + set.add(StandardSocketOptions.SO_RCVBUF); + set.add(StandardSocketOptions.SO_KEEPALIVE); + set.add(StandardSocketOptions.SO_REUSEADDR); + set.add(StandardSocketOptions.SO_LINGER); + set.add(StandardSocketOptions.TCP_NODELAY); // additional options required by socket adaptor - set.add(StandardSocketOption.IP_TOS); + set.add(StandardSocketOptions.IP_TOS); set.add(ExtendedSocketOption.SO_OOBINLINE); return Collections.unmodifiableSet(set); } diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/sun/nio/fs/AbstractPoller.java --- a/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java Mon May 09 18:45:33 2011 +0100 @@ -105,16 +105,16 @@ Set> eventSet = new HashSet<>(events.length); for (WatchEvent.Kind event: events) { // standard events - if (event == StandardWatchEventKind.ENTRY_CREATE || - event == StandardWatchEventKind.ENTRY_MODIFY || - event == StandardWatchEventKind.ENTRY_DELETE) + if (event == StandardWatchEventKinds.ENTRY_CREATE || + event == StandardWatchEventKinds.ENTRY_MODIFY || + event == StandardWatchEventKinds.ENTRY_DELETE) { eventSet.add(event); continue; } // OVERFLOW is ignored - if (event == StandardWatchEventKind.OVERFLOW) { + if (event == StandardWatchEventKinds.OVERFLOW) { if (events.length == 1) throw new IllegalArgumentException("No events to register"); continue; diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java --- a/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java Mon May 09 18:45:33 2011 +0100 @@ -42,8 +42,8 @@ /** * Special event to signal overflow */ - static final Event OVERFLOW_EVENT = - new Event(StandardWatchEventKind.OVERFLOW, null); + static final Event OVERFLOW_EVENT = + new Event(StandardWatchEventKinds.OVERFLOW, null); /** * Possible key states @@ -103,14 +103,14 @@ */ @SuppressWarnings("unchecked") final void signalEvent(WatchEvent.Kind kind, Object context) { - boolean isModify = (kind == StandardWatchEventKind.ENTRY_MODIFY); + boolean isModify = (kind == StandardWatchEventKinds.ENTRY_MODIFY); synchronized (this) { int size = events.size(); if (size > 0) { // if the previous event is an OVERFLOW event or this is a // repeated event then we simply increment the counter WatchEvent prev = events.get(size-1); - if ((prev.kind() == StandardWatchEventKind.OVERFLOW) || + if ((prev.kind() == StandardWatchEventKinds.OVERFLOW) || ((kind == prev.kind() && Objects.equals(context, prev.context())))) { @@ -124,7 +124,7 @@ if (isModify) { WatchEvent ev = lastModifyEvents.get(context); if (ev != null) { - assert ev.kind() == StandardWatchEventKind.ENTRY_MODIFY; + assert ev.kind() == StandardWatchEventKinds.ENTRY_MODIFY; ((Event)ev).increment(); return; } @@ -138,7 +138,7 @@ // if the list has reached the limit then drop pending events // and queue an OVERFLOW event if (size >= MAX_EVENT_LIST_SIZE) { - kind = StandardWatchEventKind.OVERFLOW; + kind = StandardWatchEventKinds.OVERFLOW; isModify = false; context = null; } @@ -149,7 +149,7 @@ new Event((WatchEvent.Kind)kind, context); if (isModify) { lastModifyEvents.put(context, ev); - } else if (kind == StandardWatchEventKind.OVERFLOW) { + } else if (kind == StandardWatchEventKinds.OVERFLOW) { // drop all pending events events.clear(); lastModifyEvents.clear(); diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/classes/sun/nio/fs/PollingWatchService.java --- a/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java Mon May 09 18:45:33 2011 +0100 @@ -80,16 +80,16 @@ new HashSet>(events.length); for (WatchEvent.Kind event: events) { // standard events - if (event == StandardWatchEventKind.ENTRY_CREATE || - event == StandardWatchEventKind.ENTRY_MODIFY || - event == StandardWatchEventKind.ENTRY_DELETE) + if (event == StandardWatchEventKinds.ENTRY_CREATE || + event == StandardWatchEventKinds.ENTRY_MODIFY || + event == StandardWatchEventKinds.ENTRY_DELETE) { eventSet.add(event); continue; } // OVERFLOW is ignored - if (event == StandardWatchEventKind.OVERFLOW) { + if (event == StandardWatchEventKinds.OVERFLOW) { if (events.length == 1) throw new IllegalArgumentException("No events to register"); continue; @@ -355,16 +355,16 @@ new CacheEntry(lastModified, tickCount)); // queue ENTRY_CREATE if event enabled - if (events.contains(StandardWatchEventKind.ENTRY_CREATE)) { - signalEvent(StandardWatchEventKind.ENTRY_CREATE, entry.getFileName()); + if (events.contains(StandardWatchEventKinds.ENTRY_CREATE)) { + signalEvent(StandardWatchEventKinds.ENTRY_CREATE, entry.getFileName()); continue; } else { // if ENTRY_CREATE is not enabled and ENTRY_MODIFY is // enabled then queue event to avoid missing out on // modifications to the file immediately after it is // created. - if (events.contains(StandardWatchEventKind.ENTRY_MODIFY)) { - signalEvent(StandardWatchEventKind.ENTRY_MODIFY, entry.getFileName()); + if (events.contains(StandardWatchEventKinds.ENTRY_MODIFY)) { + signalEvent(StandardWatchEventKinds.ENTRY_MODIFY, entry.getFileName()); } } continue; @@ -372,8 +372,8 @@ // check if file has changed if (e.lastModified != lastModified) { - if (events.contains(StandardWatchEventKind.ENTRY_MODIFY)) { - signalEvent(StandardWatchEventKind.ENTRY_MODIFY, + if (events.contains(StandardWatchEventKinds.ENTRY_MODIFY)) { + signalEvent(StandardWatchEventKinds.ENTRY_MODIFY, entry.getFileName()); } } @@ -403,8 +403,8 @@ Path name = mapEntry.getKey(); // remove from map and queue delete event (if enabled) i.remove(); - if (events.contains(StandardWatchEventKind.ENTRY_DELETE)) { - signalEvent(StandardWatchEventKind.ENTRY_DELETE, name); + if (events.contains(StandardWatchEventKinds.ENTRY_DELETE)) { + signalEvent(StandardWatchEventKinds.ENTRY_DELETE, name); } } } diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/native/sun/nio/ch/genSocketOptionRegistry.c --- a/jdk/src/share/native/sun/nio/ch/genSocketOptionRegistry.c Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/native/sun/nio/ch/genSocketOptionRegistry.c Mon May 09 18:45:33 2011 +0100 @@ -63,7 +63,7 @@ out("// AUTOMATICALLY GENERATED FILE - DO NOT EDIT "); out("package sun.nio.ch; "); out("import java.net.SocketOption; "); - out("import java.net.StandardSocketOption; "); + out("import java.net.StandardSocketOptions; "); out("import java.net.ProtocolFamily; "); out("import java.net.StandardProtocolFamily; "); out("import java.util.Map; "); @@ -73,7 +73,7 @@ out(" private static class RegistryKey { "); out(" private final SocketOption name; "); out(" private final ProtocolFamily family; "); - out(" RegistryKey(SocketOption name, ProtocolFamily family) { "); + out(" RegistryKey(SocketOption name, ProtocolFamily family) { "); out(" this.name = name; "); out(" this.family = family; "); out(" } "); @@ -95,23 +95,23 @@ out(" Map map = "); out(" new HashMap(); "); - emit_unspec("StandardSocketOption.SO_BROADCAST", SOL_SOCKET, SO_BROADCAST); - emit_unspec("StandardSocketOption.SO_KEEPALIVE", SOL_SOCKET, SO_KEEPALIVE); - emit_unspec("StandardSocketOption.SO_LINGER", SOL_SOCKET, SO_LINGER); - emit_unspec("StandardSocketOption.SO_SNDBUF", SOL_SOCKET, SO_SNDBUF); - emit_unspec("StandardSocketOption.SO_RCVBUF", SOL_SOCKET, SO_RCVBUF); - emit_unspec("StandardSocketOption.SO_REUSEADDR", SOL_SOCKET, SO_REUSEADDR); - emit_unspec("StandardSocketOption.TCP_NODELAY", IPPROTO_TCP, TCP_NODELAY); + emit_unspec("StandardSocketOptions.SO_BROADCAST", SOL_SOCKET, SO_BROADCAST); + emit_unspec("StandardSocketOptions.SO_KEEPALIVE", SOL_SOCKET, SO_KEEPALIVE); + emit_unspec("StandardSocketOptions.SO_LINGER", SOL_SOCKET, SO_LINGER); + emit_unspec("StandardSocketOptions.SO_SNDBUF", SOL_SOCKET, SO_SNDBUF); + emit_unspec("StandardSocketOptions.SO_RCVBUF", SOL_SOCKET, SO_RCVBUF); + emit_unspec("StandardSocketOptions.SO_REUSEADDR", SOL_SOCKET, SO_REUSEADDR); + emit_unspec("StandardSocketOptions.TCP_NODELAY", IPPROTO_TCP, TCP_NODELAY); - emit_inet("StandardSocketOption.IP_TOS", IPPROTO_IP, IP_TOS); - emit_inet("StandardSocketOption.IP_MULTICAST_IF", IPPROTO_IP, IP_MULTICAST_IF); - emit_inet("StandardSocketOption.IP_MULTICAST_TTL", IPPROTO_IP, IP_MULTICAST_TTL); - emit_inet("StandardSocketOption.IP_MULTICAST_LOOP", IPPROTO_IP, IP_MULTICAST_LOOP); + emit_inet("StandardSocketOptions.IP_TOS", IPPROTO_IP, IP_TOS); + emit_inet("StandardSocketOptions.IP_MULTICAST_IF", IPPROTO_IP, IP_MULTICAST_IF); + emit_inet("StandardSocketOptions.IP_MULTICAST_TTL", IPPROTO_IP, IP_MULTICAST_TTL); + emit_inet("StandardSocketOptions.IP_MULTICAST_LOOP", IPPROTO_IP, IP_MULTICAST_LOOP); #ifdef AF_INET6 - emit_inet6("StandardSocketOption.IP_MULTICAST_IF", IPPROTO_IPV6, IPV6_MULTICAST_IF); - emit_inet6("StandardSocketOption.IP_MULTICAST_TTL", IPPROTO_IPV6, IPV6_MULTICAST_HOPS); - emit_inet6("StandardSocketOption.IP_MULTICAST_LOOP", IPPROTO_IPV6, IPV6_MULTICAST_LOOP); + emit_inet6("StandardSocketOptions.IP_MULTICAST_IF", IPPROTO_IPV6, IPV6_MULTICAST_IF); + emit_inet6("StandardSocketOptions.IP_MULTICAST_TTL", IPPROTO_IPV6, IPV6_MULTICAST_HOPS); + emit_inet6("StandardSocketOptions.IP_MULTICAST_LOOP", IPPROTO_IPV6, IPV6_MULTICAST_LOOP); #endif emit_unspec("ExtendedSocketOption.SO_OOBINLINE", SOL_SOCKET, SO_OOBINLINE); diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/sample/nio/chatserver/ChatServer.java --- a/jdk/src/share/sample/nio/chatserver/ChatServer.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/sample/nio/chatserver/ChatServer.java Mon May 09 18:45:33 2011 +0100 @@ -32,7 +32,7 @@ import java.io.IOException; import java.net.InetSocketAddress; import java.net.SocketAddress; -import java.net.StandardSocketOption; +import java.net.StandardSocketOptions; import java.nio.channels.*; import java.util.*; import java.util.concurrent.Executors; @@ -105,7 +105,7 @@ */ private AsynchronousServerSocketChannel createListener(AsynchronousChannelGroup channelGroup) throws IOException { final AsynchronousServerSocketChannel listener = openChannel(channelGroup); - listener.setOption(StandardSocketOption.SO_REUSEADDR, true); + listener.setOption(StandardSocketOptions.SO_REUSEADDR, true); listener.bind(new InetSocketAddress(port)); return listener; } @@ -123,7 +123,7 @@ private void handleNewConnection(AsynchronousSocketChannel channel) { Client client = new Client(channel, new ClientReader(this, new NameReader(this))); try { - channel.setOption(StandardSocketOption.TCP_NODELAY, true); + channel.setOption(StandardSocketOptions.TCP_NODELAY, true); } catch (IOException e) { // ignore } diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/sample/nio/file/WatchDir.java --- a/jdk/src/share/sample/nio/file/WatchDir.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/sample/nio/file/WatchDir.java Mon May 09 18:45:33 2011 +0100 @@ -30,7 +30,7 @@ */ import java.nio.file.*; -import static java.nio.file.StandardWatchEventKind.*; +import static java.nio.file.StandardWatchEventKinds.*; import static java.nio.file.LinkOption.*; import java.nio.file.attribute.*; import java.io.IOException; diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/sample/nio/multicast/Reader.java --- a/jdk/src/share/sample/nio/multicast/Reader.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/sample/nio/multicast/Reader.java Mon May 09 18:45:33 2011 +0100 @@ -96,7 +96,7 @@ family = StandardProtocolFamily.INET6; } DatagramChannel dc = DatagramChannel.open(family) - .setOption(StandardSocketOption.SO_REUSEADDR, true) + .setOption(StandardSocketOptions.SO_REUSEADDR, true) .bind(new InetSocketAddress(target.port())); if (includeList.isEmpty()) { diff -r 638762c0263e -r d98ae8bc45fc jdk/src/share/sample/nio/multicast/Sender.java --- a/jdk/src/share/sample/nio/multicast/Sender.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/share/sample/nio/multicast/Sender.java Mon May 09 18:45:33 2011 +0100 @@ -59,7 +59,7 @@ family = StandardProtocolFamily.INET6; DatagramChannel dc = DatagramChannel.open(family).bind(new InetSocketAddress(0)); if (target.interf() != null) { - dc.setOption(StandardSocketOption.IP_MULTICAST_IF, target.interf()); + dc.setOption(StandardSocketOptions.IP_MULTICAST_IF, target.interf()); } // send multicast packet diff -r 638762c0263e -r d98ae8bc45fc jdk/src/solaris/classes/sun/nio/ch/SctpChannelImpl.java --- a/jdk/src/solaris/classes/sun/nio/ch/SctpChannelImpl.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/solaris/classes/sun/nio/ch/SctpChannelImpl.java Mon May 09 18:45:33 2011 +0100 @@ -55,7 +55,7 @@ import com.sun.nio.sctp.SctpSocketOption; import sun.nio.ch.PollArrayWrapper; import sun.nio.ch.SelChImpl; -import static com.sun.nio.sctp.SctpStandardSocketOption.*; +import static com.sun.nio.sctp.SctpStandardSocketOptions.*; import static sun.nio.ch.SctpResultContainer.SEND_FAILED; import static sun.nio.ch.SctpResultContainer.ASSOCIATION_CHANGED; import static sun.nio.ch.SctpResultContainer.PEER_ADDRESS_CHANGED; diff -r 638762c0263e -r d98ae8bc45fc jdk/src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java --- a/jdk/src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java Mon May 09 18:45:33 2011 +0100 @@ -53,7 +53,7 @@ import com.sun.nio.sctp.SctpChannel; import com.sun.nio.sctp.SctpMultiChannel; import com.sun.nio.sctp.SctpSocketOption; -import static com.sun.nio.sctp.SctpStandardSocketOption.*; +import static com.sun.nio.sctp.SctpStandardSocketOptions.*; import static sun.nio.ch.SctpResultContainer.*; /** diff -r 638762c0263e -r d98ae8bc45fc jdk/src/solaris/classes/sun/nio/ch/SctpNet.java --- a/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java Mon May 09 18:45:33 2011 +0100 @@ -35,7 +35,7 @@ import java.security.AccessController; import sun.security.action.GetPropertyAction; import com.sun.nio.sctp.SctpSocketOption; -import static com.sun.nio.sctp.SctpStandardSocketOption.*; +import static com.sun.nio.sctp.SctpStandardSocketOptions.*; public class SctpNet { static final String osName = AccessController.doPrivileged( diff -r 638762c0263e -r d98ae8bc45fc jdk/src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java --- a/jdk/src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java Mon May 09 18:45:33 2011 +0100 @@ -40,7 +40,7 @@ import com.sun.nio.sctp.SctpChannel; import com.sun.nio.sctp.SctpServerChannel; import com.sun.nio.sctp.SctpSocketOption; -import com.sun.nio.sctp.SctpStandardSocketOption; +import com.sun.nio.sctp.SctpStandardSocketOptions; /** * An implementation of SctpServerChannel @@ -386,7 +386,7 @@ private static Set> defaultOptions() { HashSet> set = new HashSet>(1); - set.add(SctpStandardSocketOption.SCTP_INIT_MAXSTREAMS); + set.add(SctpStandardSocketOptions.SCTP_INIT_MAXSTREAMS); return Collections.unmodifiableSet(set); } } diff -r 638762c0263e -r d98ae8bc45fc jdk/src/solaris/classes/sun/nio/fs/LinuxWatchService.java --- a/jdk/src/solaris/classes/sun/nio/fs/LinuxWatchService.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/solaris/classes/sun/nio/fs/LinuxWatchService.java Mon May 09 18:45:33 2011 +0100 @@ -210,15 +210,15 @@ int mask = 0; for (WatchEvent.Kind event: events) { - if (event == StandardWatchEventKind.ENTRY_CREATE) { + if (event == StandardWatchEventKinds.ENTRY_CREATE) { mask |= IN_CREATE | IN_MOVED_TO; continue; } - if (event == StandardWatchEventKind.ENTRY_DELETE) { + if (event == StandardWatchEventKinds.ENTRY_DELETE) { mask |= IN_DELETE | IN_MOVED_FROM; continue; } - if (event == StandardWatchEventKind.ENTRY_MODIFY) { + if (event == StandardWatchEventKinds.ENTRY_MODIFY) { mask |= IN_MODIFY | IN_ATTRIB; continue; } @@ -378,17 +378,17 @@ */ private WatchEvent.Kind maskToEventKind(int mask) { if ((mask & IN_MODIFY) > 0) - return StandardWatchEventKind.ENTRY_MODIFY; + return StandardWatchEventKinds.ENTRY_MODIFY; if ((mask & IN_ATTRIB) > 0) - return StandardWatchEventKind.ENTRY_MODIFY; + return StandardWatchEventKinds.ENTRY_MODIFY; if ((mask & IN_CREATE) > 0) - return StandardWatchEventKind.ENTRY_CREATE; + return StandardWatchEventKinds.ENTRY_CREATE; if ((mask & IN_MOVED_TO) > 0) - return StandardWatchEventKind.ENTRY_CREATE; + return StandardWatchEventKinds.ENTRY_CREATE; if ((mask & IN_DELETE) > 0) - return StandardWatchEventKind.ENTRY_DELETE; + return StandardWatchEventKinds.ENTRY_DELETE; if ((mask & IN_MOVED_FROM) > 0) - return StandardWatchEventKind.ENTRY_DELETE; + return StandardWatchEventKinds.ENTRY_DELETE; return null; } @@ -400,7 +400,7 @@ if ((mask & IN_Q_OVERFLOW) > 0) { for (Map.Entry entry: wdToKey.entrySet()) { entry.getValue() - .signalEvent(StandardWatchEventKind.OVERFLOW, null); + .signalEvent(StandardWatchEventKinds.OVERFLOW, null); } return; } diff -r 638762c0263e -r d98ae8bc45fc jdk/src/solaris/classes/sun/nio/fs/SolarisWatchService.java --- a/jdk/src/solaris/classes/sun/nio/fs/SolarisWatchService.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/solaris/classes/sun/nio/fs/SolarisWatchService.java Mon May 09 18:45:33 2011 +0100 @@ -486,7 +486,7 @@ void processDirectoryEvents(SolarisWatchKey key, int mask) { if ((mask & (FILE_MODIFIED | FILE_ATTRIB)) != 0) { registerChildren(key.getDirectory(), key, - key.events().contains(StandardWatchEventKind.ENTRY_CREATE)); + key.events().contains(StandardWatchEventKinds.ENTRY_CREATE)); } } @@ -504,14 +504,14 @@ // entry modified if (((mask & (FILE_MODIFIED | FILE_ATTRIB)) != 0) && - events.contains(StandardWatchEventKind.ENTRY_MODIFY)) + events.contains(StandardWatchEventKinds.ENTRY_MODIFY)) { - key.signalEvent(StandardWatchEventKind.ENTRY_MODIFY, node.name()); + key.signalEvent(StandardWatchEventKinds.ENTRY_MODIFY, node.name()); } // entry removed if (((mask & (FILE_REMOVED)) != 0) && - events.contains(StandardWatchEventKind.ENTRY_DELETE)) + events.contains(StandardWatchEventKinds.ENTRY_DELETE)) { // Due to 6636438/6636412 we may get a remove event for cases // where a rmdir/unlink/rename is attempted but fails. Until @@ -527,7 +527,7 @@ } catch (UnixException x) { } if (removed) - key.signalEvent(StandardWatchEventKind.ENTRY_DELETE, node.name()); + key.signalEvent(StandardWatchEventKinds.ENTRY_DELETE, node.name()); } return false; } @@ -547,7 +547,7 @@ // if the ENTRY_MODIFY event is not enabled then we don't need // modification events for entries in the directory int events = FILE_NOFOLLOW; - if (parent.events().contains(StandardWatchEventKind.ENTRY_MODIFY)) + if (parent.events().contains(StandardWatchEventKinds.ENTRY_MODIFY)) events |= (FILE_MODIFIED | FILE_ATTRIB); DirectoryStream stream = null; @@ -567,7 +567,7 @@ // send ENTRY_CREATE if enabled if (sendEvents) { - parent.signalEvent(StandardWatchEventKind.ENTRY_CREATE, name); + parent.signalEvent(StandardWatchEventKinds.ENTRY_CREATE, name); } // register it @@ -602,12 +602,12 @@ // update events, rembering if ENTRY_MODIFY was previously // enabled or disabled. boolean wasModifyEnabled = key.events() - .contains(StandardWatchEventKind.ENTRY_MODIFY); + .contains(StandardWatchEventKinds.ENTRY_MODIFY); key.setEvents(events); // check if ENTRY_MODIFY has changed boolean isModifyEnabled = events - .contains(StandardWatchEventKind.ENTRY_MODIFY); + .contains(StandardWatchEventKinds.ENTRY_MODIFY); if (wasModifyEnabled == isModifyEnabled) { return; } diff -r 638762c0263e -r d98ae8bc45fc jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java --- a/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java Mon May 09 18:45:33 2011 +0100 @@ -464,15 +464,15 @@ { switch (action) { case FILE_ACTION_MODIFIED : - return StandardWatchEventKind.ENTRY_MODIFY; + return StandardWatchEventKinds.ENTRY_MODIFY; case FILE_ACTION_ADDED : case FILE_ACTION_RENAMED_NEW_NAME : - return StandardWatchEventKind.ENTRY_CREATE; + return StandardWatchEventKinds.ENTRY_CREATE; case FILE_ACTION_REMOVED : case FILE_ACTION_RENAMED_OLD_NAME : - return StandardWatchEventKind.ENTRY_DELETE; + return StandardWatchEventKinds.ENTRY_DELETE; default : return null; // action not recognized @@ -548,7 +548,7 @@ if (info.error() != 0) { // buffer overflow if (info.error() == ERROR_NOTIFY_ENUM_DIR) { - key.signalEvent(StandardWatchEventKind.OVERFLOW, null); + key.signalEvent(StandardWatchEventKinds.OVERFLOW, null); } else { // other error so cancel key implCancelKey(key); @@ -562,7 +562,7 @@ processEvents(key, info.bytesTransferred()); } else { // insufficient buffer size - key.signalEvent(StandardWatchEventKind.OVERFLOW, null); + key.signalEvent(StandardWatchEventKinds.OVERFLOW, null); } // start read for next batch of changes diff -r 638762c0263e -r d98ae8bc45fc jdk/test/com/sun/nio/sctp/SctpChannel/SocketOptionTests.java --- a/jdk/test/com/sun/nio/sctp/SctpChannel/SocketOptionTests.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/com/sun/nio/sctp/SctpChannel/SocketOptionTests.java Mon May 09 18:45:33 2011 +0100 @@ -40,7 +40,7 @@ import com.sun.nio.sctp.SctpSocketOption; import java.security.AccessController; import sun.security.action.GetPropertyAction; -import static com.sun.nio.sctp.SctpStandardSocketOption.*; +import static com.sun.nio.sctp.SctpStandardSocketOptions.*; import static java.lang.System.out; public class SocketOptionTests { diff -r 638762c0263e -r d98ae8bc45fc jdk/test/com/sun/nio/sctp/SctpMultiChannel/SocketOptionTests.java --- a/jdk/test/com/sun/nio/sctp/SctpMultiChannel/SocketOptionTests.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/com/sun/nio/sctp/SctpMultiChannel/SocketOptionTests.java Mon May 09 18:45:33 2011 +0100 @@ -48,7 +48,7 @@ import com.sun.nio.sctp.SctpSocketOption; import java.security.AccessController; import sun.security.action.GetPropertyAction; -import static com.sun.nio.sctp.SctpStandardSocketOption.*; +import static com.sun.nio.sctp.SctpStandardSocketOptions.*; import static java.lang.System.out; public class SocketOptionTests { diff -r 638762c0263e -r d98ae8bc45fc jdk/test/java/nio/channels/AsynchronousServerSocketChannel/Basic.java --- a/jdk/test/java/nio/channels/AsynchronousServerSocketChannel/Basic.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/java/nio/channels/AsynchronousServerSocketChannel/Basic.java Mon May 09 18:45:33 2011 +0100 @@ -29,7 +29,7 @@ import java.nio.channels.*; import java.net.*; -import static java.net.StandardSocketOption.*; +import static java.net.StandardSocketOptions.*; import java.io.IOException; import java.util.Set; import java.util.concurrent.ExecutionException; diff -r 638762c0263e -r d98ae8bc45fc jdk/test/java/nio/channels/AsynchronousSocketChannel/Basic.java --- a/jdk/test/java/nio/channels/AsynchronousSocketChannel/Basic.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/java/nio/channels/AsynchronousSocketChannel/Basic.java Mon May 09 18:45:33 2011 +0100 @@ -29,7 +29,7 @@ import java.nio.ByteBuffer; import java.nio.channels.*; -import static java.net.StandardSocketOption.*; +import static java.net.StandardSocketOptions.*; import java.net.*; import java.util.Random; import java.util.concurrent.*; @@ -383,7 +383,7 @@ // write bytes and close connection SocketChannel sc = server.accept(); ByteBuffer src = genBuffer(); - sc.setOption(StandardSocketOption.SO_SNDBUF, src.remaining()); + sc.setOption(StandardSocketOptions.SO_SNDBUF, src.remaining()); while (src.hasRemaining()) sc.write(src); sc.close(); diff -r 638762c0263e -r d98ae8bc45fc jdk/test/java/nio/channels/DatagramChannel/BasicMulticastTests.java --- a/jdk/test/java/nio/channels/DatagramChannel/BasicMulticastTests.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/java/nio/channels/DatagramChannel/BasicMulticastTests.java Mon May 09 18:45:33 2011 +0100 @@ -52,7 +52,7 @@ StandardProtocolFamily.INET : StandardProtocolFamily.INET6; DatagramChannel dc = DatagramChannel.open(family) - .setOption(StandardSocketOption.SO_REUSEADDR, true) + .setOption(StandardSocketOptions.SO_REUSEADDR, true) .bind(new InetSocketAddress(source, 0)); // check existing key is returned @@ -115,7 +115,7 @@ System.out.println("Exception Tests"); DatagramChannel dc = DatagramChannel.open(StandardProtocolFamily.INET) - .setOption(StandardSocketOption.SO_REUSEADDR, true) + .setOption(StandardSocketOptions.SO_REUSEADDR, true) .bind(new InetSocketAddress(0)); InetAddress group = InetAddress.getByName("225.4.5.6"); diff -r 638762c0263e -r d98ae8bc45fc jdk/test/java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java --- a/jdk/test/java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java Mon May 09 18:45:33 2011 +0100 @@ -59,7 +59,7 @@ StandardProtocolFamily.INET6 : StandardProtocolFamily.INET; DatagramChannel dc = DatagramChannel.open(family) .bind(new InetSocketAddress(local, 0)) - .setOption(StandardSocketOption.IP_MULTICAST_IF, nif); + .setOption(StandardSocketOptions.IP_MULTICAST_IF, nif); int id = rand.nextInt(); byte[] msg = Integer.toString(id).getBytes("UTF-8"); ByteBuffer buf = ByteBuffer.wrap(msg); @@ -146,7 +146,7 @@ System.out.format("\nTest DatagramChannel to %s socket\n", family.name()); try (DatagramChannel dc = (family == UNSPEC) ? DatagramChannel.open() : DatagramChannel.open(family)) { - dc.setOption(StandardSocketOption.SO_REUSEADDR, true) + dc.setOption(StandardSocketOptions.SO_REUSEADDR, true) .bind(new InetSocketAddress(0)); // join group diff -r 638762c0263e -r d98ae8bc45fc jdk/test/java/nio/channels/DatagramChannel/SocketOptionTests.java --- a/jdk/test/java/nio/channels/DatagramChannel/SocketOptionTests.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/java/nio/channels/DatagramChannel/SocketOptionTests.java Mon May 09 18:45:33 2011 +0100 @@ -31,7 +31,7 @@ import java.net.*; import java.io.IOException; import java.util.*; -import static java.net.StandardSocketOption.*; +import static java.net.StandardSocketOptions.*; public class SocketOptionTests { diff -r 638762c0263e -r d98ae8bc45fc jdk/test/java/nio/channels/ServerSocketChannel/SocketOptionTests.java --- a/jdk/test/java/nio/channels/ServerSocketChannel/SocketOptionTests.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/java/nio/channels/ServerSocketChannel/SocketOptionTests.java Mon May 09 18:45:33 2011 +0100 @@ -32,7 +32,7 @@ import java.net.*; import java.io.IOException; import java.util.*; -import static java.net.StandardSocketOption.*; +import static java.net.StandardSocketOptions.*; public class SocketOptionTests { diff -r 638762c0263e -r d98ae8bc45fc jdk/test/java/nio/channels/SocketChannel/Shutdown.java --- a/jdk/test/java/nio/channels/SocketChannel/Shutdown.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/java/nio/channels/SocketChannel/Shutdown.java Mon May 09 18:45:33 2011 +0100 @@ -39,7 +39,7 @@ static void acceptAndReset(ServerSocketChannel ssc) throws IOException { SocketChannel peer = ssc.accept(); try { - peer.setOption(StandardSocketOption.SO_LINGER, 0); + peer.setOption(StandardSocketOptions.SO_LINGER, 0); peer.configureBlocking(false); peer.write(ByteBuffer.wrap(new byte[128*1024])); } finally { diff -r 638762c0263e -r d98ae8bc45fc jdk/test/java/nio/channels/SocketChannel/SocketOptionTests.java --- a/jdk/test/java/nio/channels/SocketChannel/SocketOptionTests.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/java/nio/channels/SocketChannel/SocketOptionTests.java Mon May 09 18:45:33 2011 +0100 @@ -32,7 +32,7 @@ import java.net.*; import java.io.IOException; import java.util.*; -import static java.net.StandardSocketOption.*; +import static java.net.StandardSocketOptions.*; public class SocketOptionTests { diff -r 638762c0263e -r d98ae8bc45fc jdk/test/java/nio/file/Files/CheckPermissions.java --- a/jdk/test/java/nio/file/Files/CheckPermissions.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/java/nio/file/Files/CheckPermissions.java Mon May 09 18:45:33 2011 +0100 @@ -540,7 +540,7 @@ try (WatchService watcher = FileSystems.getDefault().newWatchService()) { prepare(); - testdir.register(watcher, StandardWatchEventKind.ENTRY_DELETE); + testdir.register(watcher, StandardWatchEventKinds.ENTRY_DELETE); assertCheckRead(testdir); } diff -r 638762c0263e -r d98ae8bc45fc jdk/test/java/nio/file/WatchService/Basic.java --- a/jdk/test/java/nio/file/WatchService/Basic.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/java/nio/file/WatchService/Basic.java Mon May 09 18:45:33 2011 +0100 @@ -29,7 +29,7 @@ */ import java.nio.file.*; -import static java.nio.file.StandardWatchEventKind.*; +import static java.nio.file.StandardWatchEventKinds.*; import java.nio.file.attribute.*; import java.io.*; import java.util.*; @@ -100,7 +100,7 @@ // remove key and check that we got the ENTRY_CREATE event takeExpectedKey(watcher, myKey); checkExpectedEvent(myKey.pollEvents(), - StandardWatchEventKind.ENTRY_CREATE, name); + StandardWatchEventKinds.ENTRY_CREATE, name); System.out.println("reset key"); if (!myKey.reset()) @@ -121,7 +121,7 @@ Files.delete(file); takeExpectedKey(watcher, myKey); checkExpectedEvent(myKey.pollEvents(), - StandardWatchEventKind.ENTRY_DELETE, name); + StandardWatchEventKinds.ENTRY_DELETE, name); System.out.println("reset key"); if (!myKey.reset()) @@ -149,7 +149,7 @@ // remove key and check that we got the ENTRY_MODIFY event takeExpectedKey(watcher, myKey); checkExpectedEvent(myKey.pollEvents(), - StandardWatchEventKind.ENTRY_MODIFY, name); + StandardWatchEventKinds.ENTRY_MODIFY, name); System.out.println("OKAY"); // done @@ -424,7 +424,7 @@ // check that key1 got ENTRY_CREATE takeExpectedKey(watcher1, key1); checkExpectedEvent(key1.pollEvents(), - StandardWatchEventKind.ENTRY_CREATE, name2); + StandardWatchEventKinds.ENTRY_CREATE, name2); // check that key2 got zero events WatchKey key = watcher2.poll(); @@ -437,7 +437,7 @@ // check that key2 got ENTRY_DELETE takeExpectedKey(watcher2, key2); checkExpectedEvent(key2.pollEvents(), - StandardWatchEventKind.ENTRY_DELETE, name1); + StandardWatchEventKinds.ENTRY_DELETE, name1); // check that key1 got zero events key = watcher1.poll(); @@ -458,7 +458,7 @@ Files.createFile(file1); takeExpectedKey(watcher2, key2); checkExpectedEvent(key2.pollEvents(), - StandardWatchEventKind.ENTRY_CREATE, name1); + StandardWatchEventKinds.ENTRY_CREATE, name1); System.out.println("OKAY"); diff -r 638762c0263e -r d98ae8bc45fc jdk/test/java/nio/file/WatchService/FileTreeModifier.java --- a/jdk/test/java/nio/file/WatchService/FileTreeModifier.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/java/nio/file/WatchService/FileTreeModifier.java Mon May 09 18:45:33 2011 +0100 @@ -28,7 +28,7 @@ */ import java.nio.file.*; -import static java.nio.file.StandardWatchEventKind.*; +import static java.nio.file.StandardWatchEventKinds.*; import java.io.IOException; import java.io.OutputStream; import java.util.*; diff -r 638762c0263e -r d98ae8bc45fc jdk/test/java/nio/file/WatchService/LotsOfEvents.java --- a/jdk/test/java/nio/file/WatchService/LotsOfEvents.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/java/nio/file/WatchService/LotsOfEvents.java Mon May 09 18:45:33 2011 +0100 @@ -29,7 +29,7 @@ */ import java.nio.file.*; -import static java.nio.file.StandardWatchEventKind.*; +import static java.nio.file.StandardWatchEventKinds.*; import java.io.IOException; import java.io.OutputStream; import java.util.*; diff -r 638762c0263e -r d98ae8bc45fc jdk/test/java/nio/file/WatchService/SensitivityModifier.java --- a/jdk/test/java/nio/file/WatchService/SensitivityModifier.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/java/nio/file/WatchService/SensitivityModifier.java Mon May 09 18:45:33 2011 +0100 @@ -29,7 +29,7 @@ */ import java.nio.file.*; -import static java.nio.file.StandardWatchEventKind.*; +import static java.nio.file.StandardWatchEventKinds.*; import java.io.OutputStream; import java.io.IOException; import java.util.Random; diff -r 638762c0263e -r d98ae8bc45fc jdk/test/java/nio/file/WatchService/WithSecurityManager.java --- a/jdk/test/java/nio/file/WatchService/WithSecurityManager.java Mon May 09 08:58:00 2011 -0700 +++ b/jdk/test/java/nio/file/WatchService/WithSecurityManager.java Mon May 09 18:45:33 2011 +0100 @@ -66,7 +66,7 @@ // attempt to register directory try { dir.register(dir.getFileSystem().newWatchService(), - new WatchEvent.Kind[]{ StandardWatchEventKind.ENTRY_CREATE }, + new WatchEvent.Kind[]{ StandardWatchEventKinds.ENTRY_CREATE }, modifiers); if (expectedToFail) throw new RuntimeException("SecurityException not thrown");