Nick, Do you have to have synchronous communications or can you get by with stale messaging? If you can packetize the data in your protocol, then check out the MVWWW core. (http://mvwww.sourceforge.net) I gave up, long ago, on MV socket processing and decided to go with a file I/O architecture when writing this HTTP service replacement for <insert unfavorable HTTP API>. The clients (in this case CGI applications), contact a spooler via socket and then the spooler drops a request file into a queue directory. The spooler then waits for a certain amount of time for a response file or returns a wait error if no response is seen.
The file spooling is structured like this: /spool/<list of request IDs(empty files with a filename of the ID)> /spool/requests/<matching request data by ID> /spool/responses/<matching responses by ID> You can stop and start MV phantoms as you need to handle the load without affecting live processing. I was working on a load manager, but pressing engagements have taken me away from development. Each phantom opens the /spool/ path, does a readnext for the ID, locks it, deletes it, and then reads the request from /spool/requests/<ID>. After deleting the request and processing it, the response is written to /spool/responses/<ID> and processing goes back to the top. The C spooler code needs some tweaking, but you may be able to take this architecture and implement a spooler in a different way. Glen Batchelor ------- u2-users mailing list [email protected] To unsubscribe please visit http://listserver.u2ug.org/
