Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean up NioEventLoop #9799

Merged
merged 2 commits into from
Nov 26, 2019
Merged

Clean up NioEventLoop #9799

merged 2 commits into from
Nov 26, 2019

Commits on Nov 23, 2019

  1. Clean up NioEventLoop

    Motivation
    
    The event loop implementations had become somewhat tangled over time and
    work was done recently to streamline EpollEventLoop. NioEventLoop would
    benefit from the same treatment and it is more straighforward now that
    we can follow the same structure as was done for epoll.
    
    Modifications
    
    Untangle NioEventLoop logic and mirror what's now done in EpollEventLoop
    w.r.t. the volatile selector wake-up guard and scheduled task deadline
    handling.
    
    Some common refinements to EpollEventLoop have also been included - to
    use constants for the "special" deadline/wakeup volatile values and to
    avoid some unnecessary calls to System.nanoTime() on task-only
    iterations.
    
    Result
    
    Hopefully cleaner, more efficient and less fragile NIO transport
    implementation.
    njhill committed Nov 23, 2019
    Configuration menu
    Copy the full SHA
    f3721e2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    62cc66d View commit details
    Browse the repository at this point in the history