<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: [MUD-Dev] dispatching events --> <!--X-From-R13: Uert [vyyre <tzvyyreNpynffvp-tnzrf.pbz> --> <!--X-Date: Thu, 22 Jul 1999 14:38:15 -0700 --> <!--X-Message-Id: 37978BA0.109ED82E@classic-games.com --> <!--X-Content-Type: text/plain --> <!--X-Reference: 3796B3EF.61FDEE88@classic-games.com --> <!--X-Reference: 19990722110613.A16109#erdos,Stanford.EDU --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: [MUD-Dev] dispatching events</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:gmiller#classic-games,com"> </head> <body background="/backgrounds/paperback.gif" bgcolor="#ffffff" text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000"> <font size="+4" color="#804040"> <strong><em>MUD-Dev<br>mailing list archive</em></strong> </font> <br> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00028.html">Previous</a> | <a href="msg00030.html">Next</a> ] Thread: [ <a href="msg00024.html">Previous</a> | <a href="msg00016.html">Next</a> ] Index: [ <A HREF="author.html#00029">Author</A> | <A HREF="#00029">Date</A> | <A HREF="thread.html#00029">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: [MUD-Dev] dispatching events</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> <LI><em>Subject</em>: Re: [MUD-Dev] dispatching events</LI> <LI><em>From</em>: Greg Miller <<A HREF="mailto:gmiller#classic-games,com">gmiller#classic-games,com</A>></LI> <LI><em>Date</em>: Thu, 22 Jul 1999 16:22:40 -0500</LI> <LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> <LI><em>Sender</em>: <A HREF="mailto:mud-dev-admin#kanga,nu">mud-dev-admin#kanga,nu</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> Mark Gritter wrote: > > On Thu, Jul 22, 1999 at 01:02:23AM -0500, Greg Miller wrote: > I think the difference is mainly how much inconsitency you're willing to > tolerate. It doesn't seem to me that [3] preserves the semantics of [2]. > In particular, two events might appear in different orders to different > objects. This may not be a problem if your world allows this--- Your assessment seems dead-on. Further, there's no absolute guarantee that all calls for one event will commit before calls are committed for the next event. The question becomes "is that really a problem?" I lean towards saying no--it seems to me subscribers should normally be independent of each other, and thus not care about any of this. Hrm. Any good examples of where people would tend to behave differently than I've assumed? > There are ways to a avoid pessimal behavior in [2]. For example, increase > an event's "priority" each time it fails. (J C Lawrence suggested > something like this in the "lockless system -- foolproof?" thread last year.) I vaguely recall that thread, I believe. > > Another hybrid scheme is to break large subscriptions into atomic > subsubscriptions of smaller size, grouped by "closeness". The hope is that > objects that interact with each other will see a consistent event model, > while avoiding contention. The bookkeeping necessary for this may tend > to make it not worthwhile--- and there's little real gain in what semantics > you may assume. It really comes down to how often interactions among multiple subscribers to the same event are useful. The problem is that I haven't gotten very far into my mudlib, and thus have little experience with it. > > Does [3] really have to be implemented at the driver level? It seems > identical in implementation to [1], except for the introduction of > "subscription" objects. No, it doesn't. I considered leaving it up to the lib, but I wanted to hide all the event-handling mechanics inside the driver, and it had the side benefit of allow more of a mix-and-match functionality: it should allow me to provide, say, a mudlib and a web server as two non-overlapping packages that can simply be compiled and left to run. Both can simply subscribe to connection events and handle it if it's on the proper port, ignoring each other completely. I didn't want to have to provide a master object that handles events and dispatches to different libs. The downside, of course, is that event-handling can't be changed without changing the driver, but I don't expect that to be a big deal. -- <A HREF="http://www.classic-games.com/">http://www.classic-games.com/</A> Conspiracy theorists mistakenly assume others think before acting. *** Please limit .sigs to four lines and avoid HTML mail or posts. *** _______________________________________________ MUD-Dev maillist - MUD-Dev#kanga,nu <A HREF="http://www.kanga.nu/lists/listinfo/mud-dev">http://www.kanga.nu/lists/listinfo/mud-dev</A> </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00018" HREF="msg00018.html">[MUD-Dev] dispatching events</A></STRONG> <UL><LI><EM>From:</EM> Greg Miller <gmiller#classic-games,com></LI></UL></LI> <LI><STRONG><A NAME="00024" HREF="msg00024.html">Re: [MUD-Dev] dispatching events</A></STRONG> <UL><LI><EM>From:</EM> Mark Gritter <mark#erdos,Stanford.EDU></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00028.html">Re: [MUD-Dev] injury-based combat</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00030.html">Re: [MUD-Dev] Containing automation?</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00024.html">Re: [MUD-Dev] dispatching events</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00016.html">[MUD-Dev] injury-based combat</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00029"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00029"><STRONG>Thread</STRONG></A></LI> </UL> </LI> </UL> <!--X-BotPNI-End--> <!--X-User-Footer--> <!--X-User-Footer-End--> <ul><li>Thread context: <BLOCKQUOTE><UL> <LI><STRONG>[MUD-Dev] Mud Census?</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <LI><strong><A NAME="00085" HREF="msg00085.html">[MUD-Dev] Mud Census?</A></strong>, Timothy O'Neill Dang <a href="mailto:timothy#nmia,com">timothy#nmia,com</a>, Wed 11 Aug 1999, 17:04 GMT </LI> </ul> <LI><strong><A NAME="00074" HREF="msg00074.html">Re: [MUD-Dev] mud vs. mush membership</A></strong>, Bruce Mitchener, Jr. <a href="mailto:bruce#puremagic,com">bruce#puremagic,com</a>, Thu 29 Jul 1999, 23:43 GMT </LI> </ul> </LI> <LI><strong><A NAME="00018" HREF="msg00018.html">[MUD-Dev] dispatching events</A></strong>, Greg Miller <a href="mailto:gmiller#classic-games,com">gmiller#classic-games,com</a>, Thu 22 Jul 1999, 17:13 GMT <UL> <LI><strong><A NAME="00024" HREF="msg00024.html">Re: [MUD-Dev] dispatching events</A></strong>, Mark Gritter <a href="mailto:mark#erdos,Stanford.EDU">mark#erdos,Stanford.EDU</a>, Thu 22 Jul 1999, 21:01 GMT <UL> <LI><strong><A NAME="00029" HREF="msg00029.html">Re: [MUD-Dev] dispatching events</A></strong>, Greg Miller <a href="mailto:gmiller#classic-games,com">gmiller#classic-games,com</a>, Thu 22 Jul 1999, 21:38 GMT </LI> </UL> </LI> </UL> </LI> <LI><strong><A NAME="00016" HREF="msg00016.html">[MUD-Dev] injury-based combat</A></strong>, Greg Miller <a href="mailto:gmiller#classic-games,com">gmiller#classic-games,com</a>, Thu 22 Jul 1999, 17:12 GMT <UL> <LI><strong><A NAME="00026" HREF="msg00026.html">Re: [MUD-Dev] injury-based combat</A></strong>, Brian Carter <a href="mailto:muddev#wyrms-of-malice,com">muddev#wyrms-of-malice,com</a>, Thu 22 Jul 1999, 21:03 GMT <UL> <LI><strong><A NAME="00028" HREF="msg00028.html">Re: [MUD-Dev] injury-based combat</A></strong>, Greg Miller <a href="mailto:gmiller#classic-games,com">gmiller#classic-games,com</a>, Thu 22 Jul 1999, 21:38 GMT </LI> <LI><strong><A NAME="00031" HREF="msg00031.html">Re: [MUD-Dev] injury-based combat</A></strong>, Matthew Mihaly <a href="mailto:diablo#best,com">diablo#best,com</a>, Thu 22 Jul 1999, 21:59 GMT </LI> </UL> </LI> </UL> </LI> </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>