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/

Reply via email to