1998Q4/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] OpenMUD: bus&#45;based communications -->
<!--X-From-R13: Xnzrf Ivyfba <wjvyfbaNebpurfgre.ee.pbz> -->
<!--X-Date: Sat, 24 Oct 1998 19:51:03 &#45;0700 -->
<!--X-Message-Id: 98102422400508.12608@d185d1e96 -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: Pine.SOL.3.96.981025004610.6542B&#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] OpenMUD: bus-based communications</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:jwilson#rochester,rr.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="msg00472.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00474.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00467.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00479.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00473">Author</A>
&nbsp;|&nbsp;<A HREF="#00473">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00473">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] OpenMUD: bus-based communications</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] OpenMUD: bus-based communications</LI>
<LI><em>From</em>: James Wilson &lt;<A HREF="mailto:jwilson#rochester,rr.com">jwilson#rochester,rr.com</A>&gt;</LI>
<LI><em>Date</em>: Sat, 24 Oct 1998 21:51:28 -0400</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 Sat, 24 Oct 1998, Niklas Elmqvist wrote:

&gt; - Inter-module communication is carried out using a decoupled mechanism
&gt;(cf Gamora Buses). IOW, modules do *not* know of each other at the
&gt;beginning, but broadcasts their presence on a server-wide channel.
&gt;Interested modules may create pipes or channels to the new module and use
&gt;this for message passing. Pipes may be implemented in terms of a C++
&gt;class (neatest), function pointers (most efficient), or network sockets
&gt;(for distributed systems). Possibly, all three could be supported.

there are two ways I can see to interpret the above:

1. modules have various options for communicating with each other,
which they have to negotiate. ("can you give me function pointers? oh. 
well, how about RPC?")
2. there is an abstract "send message to module" mechanism, which 
all modules use without knowing what it really does. This mechanism 
could be implemented in various ways.

&gt; - Messages passed between modules are serialized according to a
&gt;specification provided by the receiving module. That is, the magic module
&gt;might say: "I first want a byte containing the spell code, then an int for
&gt;the level of the caster, then a DB index for the target and caster." The
&gt;parser module would follow this format when passing messages to the magic
&gt;module. 

so everything would be serialized to bytes? or would this only be 
necessary in a distributed system? why should a system that runs on a 
single machine take the performance hit to serialize data it could simply
pass in as parameters? 

I am having trouble seeing the point of this system. If Module A needs
to use functionality which resides in Module B, you don't need to
resort to a bus. Module B can export some symbols, which A can then
grab and use very happily (with direct method/function calls). If 
Module B really resides on some other machine, there's still no need 
for a bus: the process containing A can be supplied with a proxy, B', 
which pretends to be B but really marshals the calls and sends them over 
the network CORBA-style. Perhaps there's also a bit of reflection, so 
A can tell the difference and optimize the way it uses B or B'.

James


</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="00479" HREF="msg00479.html">[MUD-Dev] OpenMUD: bus-based communications</A></strong>
<ul compact><li><em>From:</em> Niklas Elmqvist &lt;d97elm#dtek,chalmers.se&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00464" HREF="msg00464.html">[MUD-Dev] Re: PDMud, Gamora and Casbah</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="msg00472.html">[MUD-Dev] Re: DevMUD Event Language</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00474.html">[MUD-Dev] I wanna do it OO</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00467.html">[MUD-Dev] Re: PDMud, Gamora and Casbah</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00479.html">[MUD-Dev] OpenMUD: bus-based communications</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00473"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00473"><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, Gamora and Casbah</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<LI><strong><A NAME="00459" HREF="msg00459.html">[MUD-Dev] Re: PDMud, Gamora and Casbah</A></strong>, 
Jon Leonard <a href="mailto:jleonard#divcom,slimy.com">jleonard#divcom,slimy.com</a>, Sat 24 Oct 1998, 19:36 GMT
<UL>
<LI><strong><A NAME="00461" HREF="msg00461.html">[MUD-Dev] Re: PDMud, Gamora and Casbah</A></strong>, 
Darrin Hyrup <a href="mailto:shades#mythicgames,com">shades#mythicgames,com</a>, Sat 24 Oct 1998, 21:46 GMT
</LI>
<LI><strong><A NAME="00464" HREF="msg00464.html">[MUD-Dev] Re: PDMud, Gamora and Casbah</A></strong>, 
Niklas Elmqvist <a href="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</a>, Sat 24 Oct 1998, 23:31 GMT
<UL>
<LI><strong><A NAME="00467" HREF="msg00467.html">[MUD-Dev] Re: PDMud, Gamora and Casbah</A></strong>, 
Adam J. Thornton <a href="mailto:adam#phoenix,Princeton.EDU">adam#phoenix,Princeton.EDU</a>, Sun 25 Oct 1998, 01:45 GMT
</LI>
<LI><strong><A NAME="00473" HREF="msg00473.html">[MUD-Dev] OpenMUD: bus-based communications</A></strong>, 
James Wilson <a href="mailto:jwilson#rochester,rr.com">jwilson#rochester,rr.com</a>, Sun 25 Oct 1998, 02:51 GMT
<UL>
<LI><strong><A NAME="00479" HREF="msg00479.html">[MUD-Dev] OpenMUD: bus-based communications</A></strong>, 
Niklas Elmqvist <a href="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</a>, Sun 25 Oct 1998, 08:39 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
</ul>
</LI>
<LI><strong><A NAME="00432" HREF="msg00432.html">[MUD-Dev] Re: UO: Second Age</A></strong>, 
Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Fri 23 Oct 1998, 23:37 GMT
<LI><strong><A NAME="00423" HREF="msg00423.html">[MUD-Dev] Re: OT, kinda, but yay :)</A></strong>, 
Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Fri 23 Oct 1998, 21:29 GMT
<UL>
<li>&lt;Possible follow-up(s)&gt;<br>
<LI><strong><A NAME="00442" HREF="msg00442.html">[MUD-Dev] Re: OT, kinda, but yay :)</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sat 24 Oct 1998, 01:35 GMT
</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>