# Gache components ## Server ### Event handling: builtin From http://nginx.org/en/docs/events.html | Method | Linux | macOS | Windows | BSD | Solaris, HP-UX, IRIX, Tru64 | Notes | |--------|:-----:|:-----:|:-------:|:---:|:---------------------------:|:------| | select | X | X | X | X | X | Least efficient, but widest support | | poll | X | X | | X | X | Low efficiency, but wide support | | kqueue | | X, Go | | X | Go | Efficient | | epoll | Go | | | | | Efficient | | /dev/poll | | | | | X | Efficient | | eventport | | | | | Solaris 10+, Go | Known problems, use /dev/poll instead | | IOCP | | | X, Go | | | Recommended for Windows | Goland runtime uses `epoll`/`kqueue`/IOCP so no need for `libevent` or similar. @see https://golang.org/search?q=netpoll#Global ### Readline * Emulated by https://github.com/chzyer/readline * "Video" on: https://asciinema.org/a/32oseof9mkilg7t7d4780qt4m * Demo source: https://github.com/chzyer/readline/blob/master/example/readline-demo/readline-demo.go ## Client library