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

Reply via email to