Skip to content

Commit 6eccb8e

Browse files
committed
support kqueue for OSX/BSD
1 parent 2fcf65e commit 6eccb8e

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

src/main/java/com/bhyoo/onedrive/client/RequestTool.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,18 +67,25 @@ public class RequestTool {
6767
static {
6868
EventLoopGroup tmpGroup;
6969
Class<? extends SocketChannel> tmpClass;
70-
try {
71-
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
70+
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
7271

72+
try {
7373
Class<?> loadClass = classLoader.loadClass("io.netty.channel.epoll.EpollEventLoopGroup");
7474
tmpGroup = (EventLoopGroup) loadClass.getConstructor(int.class).newInstance(4);
7575
tmpClass = (Class<? extends SocketChannel>)
7676
classLoader.loadClass("io.netty.channel.epoll.EpollSocketChannel");
7777
}
7878
catch (Exception e) {
79-
e.printStackTrace();
80-
tmpGroup = new NioEventLoopGroup(4);
81-
tmpClass = NioSocketChannel.class;
79+
try {
80+
Class<?> loadClass = classLoader.loadClass("io.netty.channel.kqueue.KQueueEventLoopGroup");
81+
tmpGroup = (EventLoopGroup) loadClass.getConstructor(int.class).newInstance(4);
82+
tmpClass = (Class<? extends SocketChannel>)
83+
classLoader.loadClass("io.netty.channel.kqueue.KQueueSocketChannel");
84+
}
85+
catch (Exception e1) {
86+
tmpGroup = new NioEventLoopGroup(4);
87+
tmpClass = NioSocketChannel.class;
88+
}
8289
}
8390

8491
group = tmpGroup;

0 commit comments

Comments
 (0)