[MUD-Dev] OpenMUD: bus-based communications

ApplePiMan at aol.com ApplePiMan at aol.com
Sun Oct 25 19:39:24 New Zealand Daylight Time 1998

At 10/24/98 8:55 PM James Wilson (jwilson at rochester.rr.com) altered the 
fabric of reality by uttering:

>On Sat, 24 Oct 1998, Niklas Elmqvist wrote:
>> - Inter-module communication is carried out using a decoupled mechanism
>>(cf Gamora Buses). IOW, modules do *not* know of each other at the
>>beginning, but broadcasts their presence on a server-wide channel.
>>Interested modules may create pipes or channels to the new module and use
>>this for message passing. Pipes may be implemented in terms of a C++
>>class (neatest), function pointers (most efficient), or network sockets
>>(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.

I won't pretend to know what Niklas had in mind, but your number 2 is 
what I had envisioned... and that's one reason I would push for an OO 
core where modules inherit the messaging mechanism. As you say, there 
could be various implementations to achieve that effect, but OO seems, to 
me, the most logical.

Number 1 (modules negotiating their communications) seems to me 
unnecessarily complex. As long as a "message" is defined very generically 
(perhaps a byte or two to indicate what "type" of message it is and a 
pointer to some data), *any* arbitrary message can be sent using the 
abstract mechanism in your option 2.


Rick Buck, President and CEO  <mailto:rlb at big-i.com>
Beyond Infinity Games, Inc.
See you in The Metaverse! <http://www.big-i.com>

More information about the MUD-Dev mailing list