< prev index next >

src/java.base/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java

Print this page




 211             throw new UnsupportedOperationException("'" + name + "' not supported");
 212 
 213         try {
 214             begin();
 215             if (name == StandardSocketOptions.SO_REUSEADDR &&
 216                     Net.useExclusiveBind())
 217             {
 218                 // SO_REUSEADDR emulated when using exclusive bind
 219                 return (T)Boolean.valueOf(isReuseAddress);
 220             }
 221             return (T) Net.getSocketOption(fd, Net.UNSPEC, name);
 222         } finally {
 223             end();
 224         }
 225     }
 226 
 227     private static class DefaultOptionsHolder {
 228         static final Set<SocketOption<?>> defaultOptions = defaultOptions();
 229 
 230         private static Set<SocketOption<?>> defaultOptions() {
 231             HashSet<SocketOption<?>> set = new HashSet<SocketOption<?>>(2);
 232             set.add(StandardSocketOptions.SO_RCVBUF);
 233             set.add(StandardSocketOptions.SO_REUSEADDR);
 234             return Collections.unmodifiableSet(set);
 235         }
 236     }
 237 
 238     @Override
 239     public final Set<SocketOption<?>> supportedOptions() {
 240         return DefaultOptionsHolder.defaultOptions;
 241     }
 242 
 243     @Override
 244     public final String toString() {
 245         StringBuilder sb = new StringBuilder();
 246         sb.append(this.getClass().getName());
 247         sb.append('[');
 248         if (!isOpen())
 249             sb.append("closed");
 250         else {
 251             if (localAddress == null) {


 211             throw new UnsupportedOperationException("'" + name + "' not supported");
 212 
 213         try {
 214             begin();
 215             if (name == StandardSocketOptions.SO_REUSEADDR &&
 216                     Net.useExclusiveBind())
 217             {
 218                 // SO_REUSEADDR emulated when using exclusive bind
 219                 return (T)Boolean.valueOf(isReuseAddress);
 220             }
 221             return (T) Net.getSocketOption(fd, Net.UNSPEC, name);
 222         } finally {
 223             end();
 224         }
 225     }
 226 
 227     private static class DefaultOptionsHolder {
 228         static final Set<SocketOption<?>> defaultOptions = defaultOptions();
 229 
 230         private static Set<SocketOption<?>> defaultOptions() {
 231             HashSet<SocketOption<?>> set = new HashSet<>(2);
 232             set.add(StandardSocketOptions.SO_RCVBUF);
 233             set.add(StandardSocketOptions.SO_REUSEADDR);
 234             return Collections.unmodifiableSet(set);
 235         }
 236     }
 237 
 238     @Override
 239     public final Set<SocketOption<?>> supportedOptions() {
 240         return DefaultOptionsHolder.defaultOptions;
 241     }
 242 
 243     @Override
 244     public final String toString() {
 245         StringBuilder sb = new StringBuilder();
 246         sb.append(this.getClass().getName());
 247         sb.append('[');
 248         if (!isOpen())
 249             sb.append("closed");
 250         else {
 251             if (localAddress == null) {
< prev index next >