Yes, Robert, this is exactly the way I am going now. So far looks good and doesn't seem to promise any maintenance problems.

Thank you,
Andrew

On 4/12/07, Robert Synnott <rsynnott@gmail.com> wrote:
On 4/12/07, Andrei Stebakov <lispercat@gmail.com> wrote:
> So I need to keep track of all servers that I start and for each one return
> it's dispatch-table something like this?:
> (defvar *server1* (start-server :port 3001....)
> (defvar *server2* (start-server :port 3002....)
> (setq *meta-dispatcher* (lambda (server)
>                             (declare (ignore server))
>                             (if (eql server *server1*) *dispatch-table1*
> *dispatch-table2*)))
>

This is more or less exactly the approach I've been taking. The
advantage, of course, is largely in memory usage, the disadvantage is
in the trouble involved in keeping track of it all. You can, if you
like, put different sites in different packages, then just do
site1:*dispatch-table*, site2:*dispatch-table* etc. in the above, the
advantage being that you can then easily develop and test each site in
its own package.
Rob
_______________________________________________
tbnl-devel site list
tbnl-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/tbnl-devel