netty5/transport-native-kqueue/src/main/java/io/netty/channel/kqueue
Scott Mitchell fe2dd973e9 Unify KQueue and Epoll wait timeout approach
Motivation:
KQueueEventLoop and EpollEventLoop implement different approaches to applying a timeout of their respective poll calls. Epoll attempts to ensure the desired timeout is satisfied at the java layer and at the JNI layer, but it should be sufficient to account for spurious wakups at the JNI layer. Epoll timeout granularity is also limited to milliseconds which may be too large for some latency sensitive applications.

Modifications:
- Make EpollEventLoop wait method look like KQueueEventLoop
- Epoll should support a finer timeout granularity via timerfd_create. We can hide most of these details behind the epollWait0 JNI call to avoid crossing additional JNI boundaries.

Result:
More consistent timeout approach between KQueue and Epoll.
2017-08-18 13:09:02 -07:00
..
AbstractKQueueChannel.java KQueue detect peer close without EVFILT_READ 2017-08-18 11:00:18 -07:00
AbstractKQueueServerChannel.java Correctly handle connect/disconnect in EpollDatagramChannel / KQueueDatagramChannel 2017-08-04 09:22:53 +02:00
AbstractKQueueStreamChannel.java Shutting down the outbound side of the channel should not accept future writes 2017-08-04 10:59:57 -07:00
AcceptFilter.java New native transport for kqueue 2017-05-03 09:53:22 -07:00
BsdSocket.java New native transport for kqueue 2017-05-03 09:53:22 -07:00
KQueue.java New native transport for kqueue 2017-05-03 09:53:22 -07:00
KQueueChannelConfig.java New native transport for kqueue 2017-05-03 09:53:22 -07:00
KQueueChannelOption.java New native transport for kqueue 2017-05-03 09:53:22 -07:00
KQueueDatagramChannel.java Correctly handle connect/disconnect in EpollDatagramChannel / KQueueDatagramChannel 2017-08-04 09:22:53 +02:00
KQueueDatagramChannelConfig.java New native transport for kqueue 2017-05-03 09:53:22 -07:00
KQueueDomainSocketChannel.java Add support to wrap an existing filedescriptor when using native kqueue transport 2017-05-19 19:34:47 +02:00
KQueueDomainSocketChannelConfig.java New native transport for kqueue 2017-05-03 09:53:22 -07:00
KQueueEventArray.java New native transport for kqueue 2017-05-03 09:53:22 -07:00
KQueueEventLoop.java Unify KQueue and Epoll wait timeout approach 2017-08-18 13:09:02 -07:00
KQueueEventLoopGroup.java Unify {Epoll,KQueue}EventLoopGroup initialization. 2017-07-24 20:14:54 +02:00
KQueueRecvByteAllocatorHandle.java New native transport for kqueue 2017-05-03 09:53:22 -07:00
KQueueServerChannelConfig.java New native transport for kqueue 2017-05-03 09:53:22 -07:00
KQueueServerDomainSocketChannel.java Add support to wrap an existing filedescriptor when using native kqueue transport 2017-05-19 19:34:47 +02:00
KQueueServerSocketChannel.java Correctly handle connect/disconnect in EpollDatagramChannel / KQueueDatagramChannel 2017-08-04 09:22:53 +02:00
KQueueServerSocketChannelConfig.java New native transport for kqueue 2017-05-03 09:53:22 -07:00
KQueueSocketChannel.java Correctly handle connect/disconnect in EpollDatagramChannel / KQueueDatagramChannel 2017-08-04 09:22:53 +02:00
KQueueSocketChannelConfig.java New native transport for kqueue 2017-05-03 09:53:22 -07:00
KQueueStaticallyReferencedJniMethods.java KQueue detect peer close without EVFILT_READ 2017-08-18 11:00:18 -07:00
Native.java KQueue detect peer close without EVFILT_READ 2017-08-18 11:00:18 -07:00
NativeLongArray.java New native transport for kqueue 2017-05-03 09:53:22 -07:00
package-info.java New native transport for kqueue 2017-05-03 09:53:22 -07:00