Why native epoll support is introduced in Netty?

Netty's epoll transport uses epoll edge-triggered while java's nio library uses level-triggered. Beside this the epoll transport expose configuration options that are not present with java's nio like TCP_CORK, SO_REUSEPORT and more.


There are some information about this in netty's docs:

Netty provides the following platform specific JNI transports:

Linux (since 4.0.16)
MacOS/BSD (since 4.1.11)

These JNI transports add features specific to a particular platform, generate less garbage, and generally improve performance when compared to the NIO based transport.

Tags:

Epoll

Nio

Netty