[plt-scheme] ipc among mzscheme processes
I'm writing a basic messaging system to send messages between agents on
different machines. An agent is similar to a servlet in the PLT web server
except it runs continually in its own thread (concurrent state machine). It
uses an extendable binary format, but I often send sexp with it to test.
This is basicly what you described except the base message format is language
independant - the header is binary and you specify the language of the data
with an integer. The full header is:
to from id language length
Everything is an integer. Server to server messages are sent from 0 to 0.
It sounds like exactly what you are looking for, so perhaps we could define a
common protocol. It's not very far yet, but I'd be happy to share code.
On a side note, I'm having a trouble grasping the ways of using modules and
units the proper way. I've read Mathew Flatt's thesis and the smaller paper on
them, but I don't quite understand how to integrate units with modules. If
someone could recommend a resource I'd appreciate it.
- Edwin
--- "Neil W. Van Dyke" <neil at neilvandyke.org> wrote:
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
> Before I hack up something, is someone already working on a portable IPC
> mechanism for MzScheme programs?
>
> One agent per MzScheme interpreter, one MzScheme per host OS process.
> Communication across network hosts would be a big bonus. Must work
> under Unix; Mac and Microsoft would be nice too.
>
> I'm strongly leaning towards the old standby of spitting sexps over
> TCP/IP sockets (no Unix domain sockets). Probably one connection per
> message.
>
> SSL can be used to encrypt when the agents are on different hosts
> Internet, and to authenticate both ends in a portable way.
>
> Should be implementable in a small library that can be easily coded with
> in agent programs. Eventually, the agents will probably be modeled as
> concurrent state machines, so the IPC mechanism should allow but not
> require this.
>
> Better ideas?
>
> (Rejected: XML-RPC is a ridiculous non-use of XML, and not helpful.
> Microsoft lock-in 'standards' are out. CORBA implementation is too much
> hassle for my needs. Talking HTTP among agents is not a bad idea, but
> it's more complexity than necessary with no obvious benefits over
> sexp-spitting.)
>
> --
> http://www.neilvandyke.org/
__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com