14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package sun.nio.ch; 27 28 import java.nio.channels.*; 29 import java.util.concurrent.*; 30 import java.nio.ByteBuffer; 31 import java.nio.BufferOverflowException; 32 import java.io.IOException; 33 import java.io.FileDescriptor; 34 import jdk.internal.misc.SharedSecrets; 35 import jdk.internal.misc.JavaIOFileDescriptorAccess; 36 37 /** 38 * Windows implementation of AsynchronousFileChannel using overlapped I/O. 39 */ 40 41 public class WindowsAsynchronousFileChannelImpl 42 extends AsynchronousFileChannelImpl 43 implements Iocp.OverlappedChannel, Groupable 44 { 45 private static final JavaIOFileDescriptorAccess fdAccess = 46 SharedSecrets.getJavaIOFileDescriptorAccess(); 47 48 // error when EOF is detected asynchronously. 49 private static final int ERROR_HANDLE_EOF = 38; 50 51 // Lazy initialization of default I/O completion port 52 private static class DefaultIocpHolder { 53 static final Iocp defaultIocp = defaultIocp(); 54 private static Iocp defaultIocp() { 55 try { | 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package sun.nio.ch; 27 28 import java.nio.channels.*; 29 import java.util.concurrent.*; 30 import java.nio.ByteBuffer; 31 import java.nio.BufferOverflowException; 32 import java.io.IOException; 33 import java.io.FileDescriptor; 34 import jdk.internal.access.SharedSecrets; 35 import jdk.internal.access.JavaIOFileDescriptorAccess; 36 37 /** 38 * Windows implementation of AsynchronousFileChannel using overlapped I/O. 39 */ 40 41 public class WindowsAsynchronousFileChannelImpl 42 extends AsynchronousFileChannelImpl 43 implements Iocp.OverlappedChannel, Groupable 44 { 45 private static final JavaIOFileDescriptorAccess fdAccess = 46 SharedSecrets.getJavaIOFileDescriptorAccess(); 47 48 // error when EOF is detected asynchronously. 49 private static final int ERROR_HANDLE_EOF = 38; 50 51 // Lazy initialization of default I/O completion port 52 private static class DefaultIocpHolder { 53 static final Iocp defaultIocp = defaultIocp(); 54 private static Iocp defaultIocp() { 55 try { |