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