I just started playing with Undertow, but I had a couple of questions about the use of non-blocking operations vs using the worker thread pool.

In the ResourceHandler.java it appears to dispatch itself onto a worker thread, and then uses blocking file IO to actually read the file. I'm curious why a AsynchronousFileChannel wasn't used to read from the file in a non-blocking way? This would be in keeping with the non-blocking IO threads.

I wrote a quick HttpHandler that used the AsynchronousFileChannel and it worked really well. However, when creating AsynchronousFileChannel you have to specify the ExecutorService to be used to schedule the completion handler callback on. I was able to use exchange.getIoThread().getWorker(), but I'm curious if there is a way to schedule it back on the IO Threads? It just seems "purer" keeping everything on a single IO thread per core.

thanks
Andrew