> What I'd like to know is, what does the statement "as long as you only care 
> about non-Windows platforms" from asyncnet really mean?

@Monster, It means that the layers for implementing asyncnet which consist of 
selectors module, asyncdispatch, etc can be used interchangeably, perhaps you 
want to use kqueue instead of epoll for the selectors, you can do that.

The different for Windows that windows has no independent loop dispatcher and 
it's already available on win 32 api as IOCP (I/O Completion Port), hence when 
in Windows you can only use what's given on asyncdispatch.

I think libuv (or libev? I forget which) actually is a wrapper for calling 
those native api, on Windows using IOCP, on Linux using epoll, and it's same 
with asyncdispatch.

On Windows, you can take it different approach with coroutines, which the 
implementation on Windows using native API, Fiber. However using IOCP is 
certainly easier and maybe somehow more optimized instead of implementing our 
own.

@yglukhov, could you give some simple pointer the approach you took for 
implementing asyncSpawn ?

Reply via email to