Quick libuv newbie question: suppose I want a web server running a few different simultaneous event loops in different threads, where a "front-end" loop reads all incoming HTTP requests, and then based on the contents of each request moves the actual handling of that request to a different event loop/thread.
Is this possible in libuv? I was hoping there'd be, say, (1) a function for removing a watcher from a given loop without closing its file descriptors, and (2) a way to get at the file descriptor or socket underlying a given uv_tcp_t, since given those two functions I could perhaps use uv_tcp_open to create a new watcher for the same socket in a different loop. So far I haven't found any such beasts in my perusal of the header files or documentation, though. (I realize it'd still be slightly tricky to pull off even with such functions since I'd probably have to have the thread running the first loop do the "remove watcher from first loop" part, but then have another thread running the second loop do the "add watcher to second loop" part, which means I'd presumably have to have some sort of threadsafe mechanism to pass the watcher or socket between the two threads. I suspect this may be where someone tells me "Right. You don't want to do that.") Thanks, -- Scott -- You received this message because you are subscribed to the Google Groups "libuv" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/libuv. For more options, visit https://groups.google.com/d/optout.
