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]