jdk/src/solaris/classes/sun/nio/ch/Port.java
changeset 3632 399359a027de
parent 2057 3acf8e5e2ca0
child 5506 202f599c92aa
equal deleted inserted replaced
3631:4dc04372d56b 3632:399359a027de
    47 
    47 
    48     /**
    48     /**
    49      * Implemented by clients registered with this port.
    49      * Implemented by clients registered with this port.
    50      */
    50      */
    51     interface PollableChannel extends Closeable {
    51     interface PollableChannel extends Closeable {
    52         void onEvent(int events);
    52         void onEvent(int events, boolean mayInvokeDirect);
    53     }
    53     }
    54 
    54 
    55     // maps fd to "pollable" channel
    55     // maps fd to "pollable" channel
    56     protected final ReadWriteLock fdToChannelLock = new ReentrantReadWriteLock();
    56     protected final ReadWriteLock fdToChannelLock = new ReentrantReadWriteLock();
    57     protected final Map<Integer,PollableChannel> fdToChannel =
    57     protected final Map<Integer,PollableChannel> fdToChannel =
   119 
   119 
   120     @Override
   120     @Override
   121     final Object attachForeignChannel(final Channel channel, FileDescriptor fd) {
   121     final Object attachForeignChannel(final Channel channel, FileDescriptor fd) {
   122         int fdVal = IOUtil.fdVal(fd);
   122         int fdVal = IOUtil.fdVal(fd);
   123         register(fdVal, new PollableChannel() {
   123         register(fdVal, new PollableChannel() {
   124             public void onEvent(int events) { }
   124             public void onEvent(int events, boolean mayInvokeDirect) { }
   125             public void close() throws IOException {
   125             public void close() throws IOException {
   126                 channel.close();
   126                 channel.close();
   127             }
   127             }
   128         });
   128         });
   129         return Integer.valueOf(fdVal);
   129         return Integer.valueOf(fdVal);