epoller icon indicating copy to clipboard operation
epoller copied to clipboard

epoll implementation for connections in Linux, MacOS and Windows

epoller

epoll implementation for connections in Linux, MacOS and windows.

License GoDoc travis Go Report Card coveralls

Its target is implementing a simple epoll for connection, so you should see it only contains few methods:

type Poller interface {
    Add(conn net.Conn) error
    Remove(conn net.Conn) error
    Wait(count int) ([]net.Conn, error)
    WaitWithBuffer() ([]net.Conn, error)
    WaitChan(count int) <-chan []net.Conn
    Close() error
}

Welcome any PRs for windows IOCompletePort.

Inspired by 1m-go-websockets.

Thanks @sunnyboy00 for providing windows implementation.