[MUD-Dev] Re: TECH: Distributed Muds

Christopher Kohnert cjkohner at brain.uccs.edu
Fri Apr 27 00:04:43 New Zealand Standard Time 2001

J C Lawrence wrote:
> I've never liked the base concept of a select() looping process that
> tried to do real work between select() calls.  It can work to be
> sure, but it has always smelled of playing with fire.
> I prefer having a thread dedicated to socket IO, pulling in and
> buffering the IO as received, and then handling compleated blocks
> off to one or more queues (depends on whether you do pre-sorts) for
> the other game systems to pick up and process appropriately.  There
> are several advantages, not the least of which is that you decouple
> your command/entry model from your processing model.

I've considered this model before. It seems to me that unless you
truly use a lightweight process model (e.g. a pthreads or similar)
with some shared memory, it could lead to wasted time and space in
copying these blocks to the server processes which handle them. I'd
love the ability to separate the network IO from the server process
entirely, ie.  separate processes altogether, but the copying problem
has sort of turned me off from it. Named pipes, regular pipes,
SHM... ugh (let alone the maintenance). Unless I'm really missing
something about the IPC capabilities of our good ol' unixes.

MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list