[MUD-Dev] C&C and Event Rescheduling

Nathan Yospe yospe at hawaii.edu
Thu Aug 14 19:54:36 CEST 1997


On Thu, 14 Aug 1997 clawrenc at cup.hp.com wrote:

:In <9708120437.8b94 at ami-cg.GraySage.Edmonton.AB.CA>, on 08/12/97 
:   at 08:14 AM, cg at ami-cg.GraySage.Edmonton.AB.CA (Chris Gray) said:
:
:>[Chris L:]
:
:>:  Please enters the following very rapidly:
:>:
:>:    N, S, E, W.
:
:>It seems to me that, even if they are all on the same input line,
:>they are separate commands from the user. 
:
:As a general rule, yes.  There are exceptions.  Consider the case:
:
:  > dig panama canal
:  You begin digging.
:  ...many hours later...
:  You are still digging.
:  You are attacked by the Orcs!
:  > kill orcs
:  Sorry, you'll have to wait till you're done digging.
:  > oops
:
:A silly implementation to be sure, but it illustrates.  Another:
:
:  > n,n,n,n,n,n,n,n,n,e,e,e,e,e,e
:  You go north
:  ...
:  There an incredibly valuable diamond here.
:  You go north.
:  You go east.
:  You go east.
:  ...
:  > Go back!  Go back!
:  ...
:  > l
:  There is nothing here.

Oops! Sounds like you need to rethink your sequential design!

:The summary we arrived at last time was that by default user commands
:should be executed strictly sequentially.  This was to be done via
:sequence number dependancies.  However, we also saw a use in commands
:which were to be explicity executed in parrallel with other user
:commands.  One of the primary uses for such was an interrupt command
:which more or less said, "kill the entire command queue NOW!".

That, and prioritized interuption...

:(Hey Jon!  This is another thread to add your list of things to dig up
:-- the one about command sequencing, priority commands, command
:interrupts, and job control for asynchronous command execution.  It
:was mainly between CG and myself.).

And I may go and fish out a bunch of the stuff I wrote on the subject in
the rgm.diku "Event-based vs Loop-based" thread several months back...

:>I'd say that an input
:>command from a user cannot even be ready for execution until all
:>previous commands from that user have C&C'd. 

:In the general case yes.  An explicit exception should be made for
:interrupt commands.

I don't like it even in general. Of course, my model is different, and not
very many commands are executed as a single event, which is a major part
of the rational behind the "event chain" model (I once provided a martial
arts example, in which a jump kick is transformed into a somersault and
turn when the target dives out of the way...)

:>Haven't we talked about just this
:>before?

:Yup.  However our new members didn't catch that thread.

We've got a lot of threads could use a dustin off, I reckon.

<snip a bunch of database style mud specific stuff>

"You? We can't take you," said the Dean, glaring at the Librarian.
"You don't know a thing about guerilla warfare." - Reaper Man,
Nathan F. Yospe  Registered Looney                   by Terry Pratchett
yospe at hawaii.edu   http://www2.hawaii.edu/~yospe           Meow




More information about the mud-dev-archive mailing list