@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.

Reply via email to