1998Q4/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals) -->
<!--X-From-R13: Xba Zrbaneq <wyrbaneqNqvipbz.fyvzl.pbz> -->
<!--X-Date: Fri, 23 Oct 1998 14:28:37 &#45;0700 -->
<!--X-Message-Id: 19981023142010.B3992#divcom,slimy.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199810230246.UAA01227@ami&#45;cg.GraySage.Edmonton.AB.CA -->
<!--X-Reference: Pine.SOL.3.96.981023090855.14571A&#45;100000#licia,dtek.chalmers.se -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Communi</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:jleonard#divcom,slimy.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>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00421.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00423.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00393.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00376.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00422">Author</A>
&nbsp;|&nbsp;<A HREF="#00422">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00422">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</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>: [MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</LI>
<LI><em>From</em>: Jon Leonard &lt;<A HREF="mailto:jleonard#divcom,slimy.com">jleonard#divcom,slimy.com</A>&gt;</LI>
<LI><em>Date</em>: Fri, 23 Oct 1998 14:20:10 -0700</LI>
<LI><em>Cc</em>: Jon Leonard &lt;<A HREF="mailto:jleonard#divcom,slimy.com">jleonard#divcom,slimy.com</A>&gt;</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#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>
On Fri, Oct 23, 1998 at 09:32:43AM +0200, Niklas Elmqvist wrote:
[modules and pipes for intermodule communication]

&gt; Maybe one-to-one pipes would be better since it would minimize the traffic
&gt; flow and "water sprinkling". However, it would also force central modules
&gt; such as the parser to become much more complicated since they would have
&gt; to keep track of where different pipes lead and what to send on them. Not
&gt; sure about it myself.

I recommend one-to-one pipes as the underlying primitive (probably with
function calls as the even more underlying primitive), and using a module 
to do broadcasts.  More generally, the pipes module should be the module
that gets sent messages that might need to go multiple places, and it
resends messages to modules that have expressed interest.  It's almost
as efficient for real broadcasts, and substantially more efficient for
things that need to go to a few places.

The other interesting characteristic of one-to-one pipes is that they can
be implemented as sockets in a distributed MUD.  Careful partitioning for
a distributed MUD is very important, though.  Network communication is
a lot slower than local function calls.

&gt; We will also need a defined sequence for modules to disengage themselves
&gt; from the module community and be unloaded. 

This is garbage collection in another form, and the same algorithms
apply.  A module using another module maps to a pointer, and unloading
a module maps to deallocation.  If we need to force a module to be unloaded
for some reason, then we'll need a broadcast protocol for saying
"everybody stop using module X!".  This may avanlache, as other modules
that depend on X try to get those that depend on them to shut down.  This
might be the best way to shut down a MUD, actually.  Just tell everyone
to stop using the bootstrap, and away it goes.

&gt; Or is there a better alternative to a message-based communication system
&gt; like this? Anyone with more experience in these things than I?

For the capabilities stuff, we might be better off if each module had
a list of "requires a, b, c" and "provides x, y, z".  Then the loader (or
compiler) can tell you immediately that the combination of modules you've
selected isn't viable.  This can be extended to include requirements like
"no threads".  It can keep incompatable modules from being mixed by having
them require "no X" and provide "X", which should be interpreted as mutual
exclusion.

A more sophisticated tool would be able to help by listing what combinations
of modules could be used to achieve some feature set, without having to
try them all expirimentally. 

Jon Leonard


</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="00375" HREF="msg00375.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></STRONG>
<UL><LI><EM>From:</EM> Chris Gray &lt;cg#ami-cg,GraySage.Edmonton.AB.CA&gt;</LI></UL></LI>
<LI><STRONG><A NAME="00388" HREF="msg00388.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></STRONG>
<UL><LI><EM>From:</EM> Niklas Elmqvist &lt;d97elm#dtek,chalmers.se&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00421.html">[MUD-Dev] Language support</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00423.html">[MUD-Dev] Re: OT, kinda, but yay :)</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00393.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00376.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00422"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00422"><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] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<LI><strong><A NAME="00380" HREF="msg00380.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, 
J C Lawrence <a href="mailto:claw#kanga,nu">claw#kanga,nu</a>, Fri 23 Oct 1998, 03:41 GMT
</LI>
<LI><strong><A NAME="00388" HREF="msg00388.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, 
Niklas Elmqvist <a href="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</a>, Fri 23 Oct 1998, 07:35 GMT
<UL>
<LI><strong><A NAME="00392" HREF="msg00392.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, 
James Wilson <a href="mailto:jwilson#rochester,rr.com">jwilson#rochester,rr.com</a>, Fri 23 Oct 1998, 09:56 GMT
<UL>
<LI><strong><A NAME="00393" HREF="msg00393.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, 
Jo Dillon <a href="mailto:emily#thelonious,new.ox.ac.uk">emily#thelonious,new.ox.ac.uk</a>, Fri 23 Oct 1998, 10:12 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00422" HREF="msg00422.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, 
Jon Leonard <a href="mailto:jleonard#divcom,slimy.com">jleonard#divcom,slimy.com</a>, Fri 23 Oct 1998, 21:28 GMT
</LI>
</UL>
</LI>
</ul>
<LI><strong><A NAME="00376" HREF="msg00376.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Fri 23 Oct 1998, 03:01 GMT
</LI>
<LI><strong><A NAME="00383" HREF="msg00383.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Fri 23 Oct 1998, 04:01 GMT
</LI>
<LI><strong><A NAME="00395" HREF="msg00395.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Fri 23 Oct 1998, 14:10 GMT
<UL>
<LI><strong><A NAME="00396" HREF="msg00396.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, 
Niklas Elmqvist <a href="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</a>, Fri 23 Oct 1998, 14:46 GMT
</LI>
</UL>
</LI>
</ul>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>