1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.jboss.netty.channel.socket.nio;
17
18 import java.io.IOException;
19 import java.nio.channels.CancelledKeyException;
20 import java.nio.channels.Selector;
21
22 import org.jboss.netty.logging.InternalLogger;
23 import org.jboss.netty.logging.InternalLoggerFactory;
24
25 final class SelectorUtil {
26 private static final InternalLogger logger =
27 InternalLoggerFactory.getInstance(SelectorUtil.class);
28
29 static final int DEFAULT_IO_THREADS = Runtime.getRuntime().availableProcessors() * 2;
30
31
32
33
34
35
36 static {
37 String key = "sun.nio.ch.bugLevel";
38 try {
39 String buglevel = System.getProperty(key);
40 if (buglevel == null) {
41 System.setProperty(key, "");
42 }
43 } catch (SecurityException e) {
44 if (logger.isDebugEnabled()) {
45 logger.debug("Unable to get/set System Property '" + key + "'", e);
46 }
47 }
48 }
49
50 static void select(Selector selector) throws IOException {
51 try {
52 selector.select(10);
53 } catch (CancelledKeyException e) {
54 if (logger.isDebugEnabled()) {
55 logger.debug(
56 CancelledKeyException.class.getSimpleName() +
57 " raised by a Selector - JDK bug?", e);
58 }
59
60 }
61 }
62
63 private SelectorUtil() {
64
65 }
66 }