[DGD] kernel question

Shentino shentino at gmail.com
Wed Dec 5 18:34:01 CET 2007


This is normal.

Kinda irritating to me though, so kotaka's port manager accepts the
connection itself and then redirects. :P

When you redirect a connection, as opposed to terminating it and
letting it come back again, it technically isn't a new connection, so
it doesn't go through the telnetd/binaryd.

Klib only calls those for NEW connections.  In this case, you have an
OLD connection with a NEW user.

user::login(string str) is called with:

1.  The first line of input, if this is the first user object for the
connection, or
2.  Whatever you used in redirect(object newuser, string str) for str,
for any new user objects obtained by a redirect.

Personally, I consider this a deviation from DGD's simplicity
underneath, so all I do is have my port manager first call on a daemon
assigned by Game, which then returns which user object I want to use.
Then, comes a bit of trickery, the port manager "connection(conn)" and
then redirect(new_user_object, "foobar").  And the new user object
just plain ignores whatever is sent by login().

YMMV.

On Dec 5, 2007 7:46 AM, chris . <psych_mayo at hotmail.com> wrote:
>
> Building atop the kernel library, i have telnetd->select() return my login object.
> The login object uses redirect() to switch the user object to the player object, after
> logging in.
> I noticed today, that when i disconnect locally, reconnect, and as my first input (before
> telnetd->select() ) I enter the login name for the account i had disconnected from, that
> I jump right into the player object, without passing through the login object as instructed
> in telnetd.  I feel as though I may be jumping into the undestructed player object leftover
> from before, through a feature in the kernel library which i am not familiar with or else
> a bug in my /System-level code.
> thanks
>
>
>
> _________________________________________________________________
> You keep typing, we keep giving. Download Messenger and join the i'm Initiative now.
> http://im.live.com/messenger/im/home/?source=TAGLM___________________________________________
> https://mail.dworkin.nl/mailman/listinfo/dgd
>



More information about the DGD mailing list