Re: ANN: Etiquette: a protocol construction tool
Eugene Zaikonnikov <[email protected]> Fri, 03 Oct 2003 16:03:11 +0300
| Newsgroups | gmane.lisp.clump |
|---|---|
| Message-ID | <[email protected]> |
* "Luke" == Luke Gorrie <[email protected]> writes: Luke> I just did some more non-blocking network state machine Luke> hacking, this time in a way more similar to Etiquette -- I Luke> could be accused of stealing some ideas :-). There is nothing wrong with healthy exchange of ideas :) Luke> Before I was working on decoding messages off the wire, but Luke> this time it's the higher-level control part. We've been Luke> rewriting this program over and over again, looking for neater Luke> formulations. This time it's coded as a push-down automaton, Luke> which I think turned out to be pretty cute because the protocol Luke> is essentially a context-free language. I thought I'd post the Luke> code here to follow up our previous chatting: Luke> http://www.bluetail.com/~luke/misc/lisp/slime-pda.html Neat! BTW, where the project's page is located? I've tried http://sourceforge.net/projects/slime/, but it gives me "Invalid Project" error. Also, while we are at it, I'd like to express my current ideas regarding the lightweight multiplexing of protocols: - Since Etiquette transports are not necessarily pollable, the pool of I/O processes will be used. - The protocols that need multiplexing will be associated with reactor-like structure, which will handle transfers from protocol execution contexts to I/O pool and back. However, protocols should still be able to run standalone. - The multiplexing is essentially cooperative, so it may be useful to have several groups of protocols that run independently. For this, the reactor should be able to handle several separate execution contexts, and the I/O processes pool will be shared among them. - This schema will be implemented over multiprocessing package of acl-compat, as it provides a uniform interface to threading on several implementations. Opinions welcome. -- Eugene