@monster, Unix/Linux/BSD OSes and MacOS there compatible event-driven api and also you can set file descriptor to be non-blocking, so all blocking operations become non-blocking. Asyncdispatch using **epoll** on Linux, **kqueue** on Free/Open/Dragonfly/NetBSD and MacOS, **poll** on Solaris.
Windows has much more ways to making perform asynchronous operations. Asyncdispatch using **OVERLAPPED** operations and **IOCP** ports. All low-level procedures are inside of asyncdispatch.nim, all high-level procedures are inside of asyncnet.nim. Windows implementation is compatible with Unix implementation but not 100%. If you start to use addRead, addWrite, current Windows implementation of addRead and addWrite is tricky and i think its pretty heavy, but it working. But i'm still not advise you to use it. This problem if because of Windows IOCP ports nature. So, if you are using only accept/connect/send/recv/sendTo/recvFrom you will have no problems.
