[MUD-Dev] Re: DevMUD module configuration

Vadim Tkachenko vt at freehold.crocodile.org
Fri Oct 30 21:05:25 New Zealand Daylight Time 1998


Jon Leonard wrote:
> 
> As I was putting together a prototype this weekend, I realized that we
> don't yet have a sufficiently flexible scheme for configuring modules
> when we assemble them into a server.
> 
> The most sophisticated system I've seen described involves having each
> module have a list of dependencies and other requirements, along with
> a list of features that it provides.  The loader would then be
> responsible for picking out modules to load when some feature is required,
> pointing out conflicts, and so on.
> 
> The problem with this is that there are quite a few collections of modules
> (that I'd like to see, anyway) which are ambiguous or otherwise fail to
> correctly initialize in such a scheme.
> 
> For example, suppose I have three modules:
> 
> 1) Socket, which provides network communication privliges
> 
> 2) Telnet, which sits on top of Socket to provide Telnet protocol
>     features and RFC compliance.  It has the same interface (or
>     a superset), for mix-and-match capability.
> 
> 3) World, which provides all of the non-transport functionality of a MUD.
> 
> When loading World, how does the driver know whether to load telnet or not?
> Similarly, if Socket, Telnet and World are loaded, how does the loader
> know to connect World to Telnet instead of to Socket?

Take a look at "Design Patterns for Concurrent, Parallel, and
Distributed Systems" @
http://www.cs.wustl.edu/~schmidt/patterns-ace.html (I believe someone
has posted this reference here 4-5 months ago)

The solution is:

Acceptor, or connection listener. There may be several listeners for the
supported communication protocols, which are responsible for a handshake
and creation of connection handlers which are passed to the server
framework then. So, telnet is one listener and the socket is other.
Probably they shouldn't live on the same port unless the more advanced
protocol (telnet and socket is not a good example for this case, rather
ANSI telnet and telnet are) is able to fallback.

> Jon Leonard

--
Still alive and smile stays on,
Vadim Tkachenko <vt at freehold.crocodile.org>
--
UNIX _is_ user friendly, he's just very picky about who his friends are




More information about the MUD-Dev mailing list