Joseph VanAndel - 2003-07-25

I'd like to add an XmlRpcServer to a task that already has its own mainLoop, rather than using the XmlRpcServer::work() method.

( I'm using ACE, but the same issue occurs with Qt, GTK, or Xlib). 

I use XmlRpcServer::getfd() to get the file descriptor for the socket.  When I'm notified the socket is ready, I call the server.work() method.
If I call server.work(0.0), the server never finishes answering the client.  However, if I call server.work(1.0), the server answers the client.

I'd like to minimize the time spent by the server waiting for the clients, since it has other work to do.  Is there a better way of "embedding" an XmlRpc server inside an application that already has its own mainLoop()?