Subject: Re: event-driven programming (was Re: Archie-Clients )
To: None <firstname.lastname@example.org>
From: Bakul Shah <email@example.com>
Date: 01/29/1995 00:28:37
> Well, sort of. I've been working a lot recently with purely
> event-driven programs that deal with tens (and occassionally hundreds)
> of clients with purely callback-oriented programming styles. Provided
> you have a context structure for each user, and are used to writing
> code like this, in the end its no harder than any other style of
> programming. Its remarkably easy and lightweight to deal with lots of
> users, actually. select(2) is your friend.
But by using callback style programming won't you also be
using a single threaded implementation? Since Unix does not
provide async. io (you can't have multiple outstanding io
requests from a single process), you will make everyone wait
in a single queue. I'd rather have N servers where clients
are distributed evenly among all N (where N > 1). Of
course, each of these N servers will need to use select()!
If you maintain per user contexts, you will have to play
some seteuid games.