[ragel-users] interleaving two machines
Adrian Thurston
thurston at complang.org
Wed Oct 22 23:28:43 UTC 2008
Right, I see how that would be useful. I'm pretty sure this has been
asked for in the past but I didn't get it.
-Adrian
Robert Lemmen wrote:
> On Wed, Oct 22, 2008 at 10:58:37AM -0400, Adrian Thurston wrote:
>> I think this has been requested before, or something similar to it. Is
>> this a language of your making, or some existing language? I'm
>> interested in an example use.
>
> it is a language of my making, but i think it is a quite neat feature.
> in my case it is a handshake protocol over the network. you could work
> your way around it by specifying the exact order, i.e. one end (the
> server) moderates the whole protocol, the other end just answers. it is
> however much more efficient and neat if you could avoid that. a really
> simple example:
>
> --- helo -->
> <-- helo ---
> --- ident -->
> <-- ident ---
> --- query -->
> <-- answer ---
> --- ok -->
> <-- ok ---
>
> basically, both ends send a "helo", wait for an "ident" and then either
> do a "query" which needs an "answer", or just send an "ok". after two
> "ok"s the handshake is done. we can of course require the above
> ordering, but if we allow both ends to send a package whenever it makes
> sense, then the whole thing might get heavily reordered:
>
> --- helo --> <-- helo ---
> --- ident --> <-- ident ---
> --- query --> <-- ok ---
> <-- answer ---
> --- ok -->
>
> as you can see, we can then do things in parallel, which is especially
> important on high-latency links...
>
> cu robert
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> ragel-users mailing list
> ragel-users at complang.org
> http://www.complang.org/mailman/listinfo/ragel-users
More information about the ragel-users
mailing list