Casey> - Adds a NativeFD interface to all our Channel implementations that Casey> returns the native file descriptor integer. The plan here would be that Casey> a Selector implementation could work generically given that you register Casey> a Channel that implements NativeFD.
I think this is the only problematic bit. AIUI we've been careful until now to keep the 'fd == int' identity hidden in the VM layer. That makes it all a bit more palatable to VMs on non-posixy platforms; IKVM comes to mind. Casey> This patch also adds a Selector based on kqueue/kevent, the event Casey> notification mechanism on Mac OS X, and some BSDs. Kevent is a much Casey> better and more scalable API than select() or poll(). Very cool. Casey> I'd like to also write an epoll-based Selector for GNU/Linux, but can't Casey> do that right now since my Linux PC went belly-up recently. It looks quite easy given the kqueue code. Tom
