-
-
Notifications
You must be signed in to change notification settings - Fork 16.3k
Epoll question: Why level-triggered? #9349
Description
I was wondering what the reason is for supporting/exposing level-triggered mode in the epoll transport? As far as I understand, ET versus LT is somewhat of an implementation choice/detail that's beneath the existing netty abstractions, evidenced by the fact that epoll is interchangeable with the java NIO transport.
I found some references to certain features not supported in ET mode, such as auto-read (I guess outdated) and maxMessagePerRead, but can't think why it shouldn't be possible to make such features work. I also can't think of cases where ET wouldn't be preferable performance-wise.
Any explanation/insight would be appreciated!
If LT really isn't needed (I know that's a big if, there's likely something I've overlooked), maybe we could consider simplifying the implementation to be ET only?