<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: [MUD-Dev] C&C and Event Rescheduling --> <!--X-From-R13: Eunja Vnycraal <znynpunvNvanzr.pbz> --> <!--X-Date: from stimpy.globecomm.net [207.51.48.4] by in5.ibm.net id 870291133.58508-1 Wed Jul 30 19:32:13 1997 CUT --> <!--X-Message-Id: 33DF968D.41C67EA6#iname,com --> <!--X-Content-Type: text/plain --> <!--X-Reference: 199707292308.QAA17253#xsvr3,cup.hp.com --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: [MUD-Dev] C&C and Event Rescheduling</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:malachai#iname,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="msg00293.html">Previous</a> | <a href="msg00295.html">Next</a> ] Thread: [ <a href="msg00278.html">Previous</a> | <a href="msg00466.html">Next</a> ] Index: [ <A HREF="author.html#00294">Author</A> | <A HREF="#00294">Date</A> | <A HREF="thread.html#00294">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: [MUD-Dev] C&C and Event Rescheduling</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI> <LI><em>Subject</em>: Re: [MUD-Dev] C&C and Event Rescheduling</LI> <LI><em>From</em>: Shawn Halpenny <<A HREF="mailto:malachai#iname,com">malachai#iname,com</A>></LI> <LI><em>Date</em>: Wed, 30 Jul 1997 15:31:25 -0400</LI> <LI><em>Sender</em>: <A HREF="mailto:rsh#iname,com">rsh#iname,com</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> clawrenc#cup,hp.com wrote: > > In <<A HREF="msg00242.html">33D8DED4.41C67EA6#iname,com</A>>, on 07/25/97 > at 10:15 AM, Shawn Halpenny <malachai#iname,com> said: > > >clawrenc#cup,hp.com wrote: > >> How do you handle broadcasting state changes to other objects? > > >The following is my first take on this, since until this point I had > >only said that there needs to be some way of notifying other objects > >of state changes: > > >Post an event to call the notification method on each interested > >object. > > How do you know who is interested? Where is that data maintained, and > how does it get there? Does the notification enclude what changed, or > just that there was a change? Object A that wants to know when object B changes asks B to tell A when B changes. B then saves a reference to A in the internal list of objects that want to know about changes to B (this list is maintained solely by B). Currently, my design states that the notification of change will also include what was changed in B. That will depend somewhat on the scheme I use to determine object change when C&Cing--if I'm keeping track of individual attribute (or method) changes, I might as well pass along what got changed, since I've got the data handy. And in that case, A will probably ask B to notify of change in a particular attribute, as opposed to any change in B. All this notification is only done once an watched object has successfully committed, otherwise failed commits would result in wrongful notification of change. At the moment, I think the only entities that care about that internal list in B is B and the DB, though it may instead be up to the Executor (JCL's term--I'm haven't entirely hashed out that part of the design yet) to notify the objects in that list of changes to B. For the record, object methods appear the same to the DB as object attributes. This makes changing a method the same as changing an attribute--the C&C mechanism will take care of the contention where Bubba is opening a door and Boffo is changing the code for opening the door. Only the VM cares if the contents of an attribute actually represent an attribute or a method. None of this is gospel in my design yet, so I fully expect you to blast some holes in it :> <mental note: post about some of the related stuff in the forwarded "LP: How's it work" post> > >Only a single instance of this method needs to be running at > >a time, since the event will now handle further state changes by way > >of the C&C mechanism and thus keep retrying the notification code > >until it completes. So, the event is only posted if the notification > >method that is called is not already being executed (this is > >maintained by a bit in a bit field within the object). > > What about if an object has watches on multiple other objects? Hurm. What I typed isn't how it should work--confused the notification stuff with the C&C stuff :P As above, the Executor will run through the list of objects who want to be notified and poke them, at which point they can all do whatever they'd like. There is no limit imposed on the number of watchers on an object. -- Shawn Halpenny "It is impossible to make anything foolproof because fools are so ingenious." </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <ul compact><li><strong>Follow-Ups</strong>: <ul> <li><strong><A NAME="00466" HREF="msg00466.html">Re: [MUD-Dev] C&C and Event Rescheduling</A></strong> <ul compact><li><em>From:</em> clawrenc#cup,hp.com</li></ul> </UL></LI></UL> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00278" HREF="msg00278.html">Re: [MUD-Dev] C&C and Event Rescheduling</A></STRONG> <UL><LI><EM>From:</EM> clawrenc#cup,hp.com</LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00293.html">[MUD-Dev] Graphic MUDS/Ultima Online</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00295.html">Worlds VS Games, etc {was GMuds, UO}</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00278.html">Re: [MUD-Dev] C&C and Event Rescheduling</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00466.html">Re: [MUD-Dev] C&C and Event Rescheduling</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00294"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00294"><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>Re: [MUD-Dev] C&C and Event Rescheduling</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <ul compact> <ul compact> <LI><strong><A NAME="00228" HREF="msg00228.html">Re: [MUD-Dev] C&C and Event Rescheduling</A></strong>, Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Thu 24 Jul 1997, 00:21 GMT <UL> <LI><strong><A NAME="00235" HREF="msg00235.html">Re: [MUD-Dev] C&C and Event Rescheduling</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Fri 25 Jul 1997, 08:17 GMT <UL> <LI><strong><A NAME="00242" HREF="msg00242.html">Re: [MUD-Dev] C&C and Event Rescheduling</A></strong>, Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Sat 26 Jul 1997, 00:14 GMT <UL> <LI><strong><A NAME="00278" HREF="msg00278.html">Re: [MUD-Dev] C&C and Event Rescheduling</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Wed 30 Jul 1997, 06:09 GMT <UL> <LI><strong><A NAME="00294" HREF="msg00294.html">Re: [MUD-Dev] C&C and Event Rescheduling</A></strong>, Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Thu 31 Jul 1997, 02:32 GMT <UL> <LI><strong><A NAME="00466" HREF="msg00466.html">Re: [MUD-Dev] C&C and Event Rescheduling</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Mon 11 Aug 1997, 20:49 GMT </LI> </UL> </LI> </UL> </LI> </UL> </LI> </UL> </LI> </UL> </LI> </ul> </ul> </ul> <LI><strong><A NAME="00291" HREF="msg00291.html">C&C and Event Rescheduling</A></strong>, Miroslav Silovic <a href="mailto:silovic#petra,zesoi.fer.hr">silovic#petra,zesoi.fer.hr</a>, Wed 30 Jul 1997, 22:35 GMT </LI> <LI><strong><A NAME="00312" HREF="msg00312.html">C&C and Event Rescheduling</A></strong>, Miroslav Silovic <a href="mailto:silovic#mare,zesoi.fer.hr">silovic#mare,zesoi.fer.hr</a>, Thu 31 Jul 1997, 23:09 GMT <UL> <LI><strong><A NAME="00329" HREF="msg00329.html">Re: [MUD-Dev] C&C and Event Rescheduling</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Sat 02 Aug 1997, 06:21 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>