On Wednesday, September 25, 2002, at 05:08  PM, Michael Fowler wrote:

> You mention your module is a telnet server.  Is that accurate?  Does it
> actually understand the telnet protocol?

It is accurate, yes.  It includes a basic Telnet implementation that 
denies most options, and handles things like "Are You There" and 
Interrupt Process codes.  It's expandable and replaceable.

> IO::NonBlocking isn't a server, it's a method of implementing a server;

Sorry if I wasn't clear here.  Mine isn't a full server either, just 
the tools to make one.  I can implement an echo server with about five 
lines of code, if that gives you an idea.

> I looked for telnet servers and found a few things.  There's an OurNet
> namespace for some sort of BBS system, and an Anarres::Mud::Driver 
> namespace
> for some MUD modules.  The last one is an oddity; there are no modules 
> below
> Anarres::Mud::Driver as far as I could tell.  It makes me wonder what 
> the
> Anarres namespace is for.

I found this "Mud::Driver" too.  I'm not sure what it is, but I'm 
confident that it's not the same thing I built.  The name space here is 
very odd to me, because Anarres is the name of an actual up and running 
MUD.

> i.e. can the module be mixed in with others easily, or do you call it 
> with
> whatever parameters it needs, and then let it do its thing?

My module could provide I/O services, for the code of a MUD.  I believe 
that falls under your "mixed in" definition.

> For a specific example, what happens when a user sends data?  Does

The scans incoming data for any protocol codes and handles those, then 
buffers the incoming data until it has a line or the buffer limit is 
met.  At that point, it will either pass the data to the controlling 
code when they call a 'receive()' method or perform callbacks, 
implementor's choice.

Hope this clears some things up.  Sorry I didn't explain it better to 
begin with.

James


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to