Folks,
Is there a template multi-threaded network server somewhere, hopefully
portable across Lisp implementations?
I started stripping down Portable AllegroServer but was wondering if
someone has done the job for me already. It seems like such a common
thing to do but it is quite a bit of code to implement it properly
(about 1000 lines I figure).
Thanks, Joel
And I'll throw a curve here:
http://wagerlabs.com/uptick/2005/07/very-frustrating-saturday.html
How about a high-performance Lisp server, be it threaded or not?
I need your help! I want to do my latest project in Lisp, I really do.
I'm just finding it easier not to.
Thanks, Joel
Joel Reymont wrote:
> Folks,
>
> Is there a template multi-threaded network server somewhere, hopefully
> portable across Lisp implementations?
UCW[1] includes it's own (very simple) httpd in src/backend/httpd.lisp .
While it's not robust, it is very compact. It uses the SWANK's MP stuff
for it's threads, but should be trivial to port to native allegro if you
don't want the dependancy on slime. Hope that helps.
[1]http://common-lisp.net/project/ucw/
--
Drew Crampsie
drewc at tech dot coop
"Never mind the bollocks -- here's the sexp's tools."
-- Karl A. Krueger on comp.lang.lisp
In article <························@g44g2000cwa.googlegroups.com>, Joel Reymont wrote:
> Folks,
>
> Is there a template multi-threaded network server somewhere, hopefully
> portable across Lisp implementations?
You might want to have a look at TBNL by Edi Weitz. It has the option
to run as a standalone HTTP server. The HTTP server part is very simple
minded (I wrote it not Edi :-) but works, but most importantly it would be
easy to replace. TBNL is built on top of KMRCL by Kevin Rosenberg. KMRCL
has a lot of different things in it, and tucked in there is a file called
'listener.lisp' -- this is a framework for a socket based server that
can spawn worker processes. The standalone HTTP server in TBNL kind of
chops off the framework Edi wrote at a fairly low level and so could be a
handy entry point -- I don't think that anything 'below' that assumes HTTP
either. Might be worth a look (it is only 288 lines though :-)
Araneida, another web server, has something in it that might be useful. I
have not spent any time looking at it, but it does seem to work quite
nicely.
BTW, I can't spot the RSS feed on your weblog. Do you have one?
Bob
>
> I started stripping down Portable AllegroServer but was wondering if
> someone has done the job for me already. It seems like such a common
> thing to do but it is quite a bit of code to implement it properly
> (about 1000 lines I figure).
>
> Thanks, Joel
>
Sorry... I'm not purposely trying to be anonymous...
I have, once again, been defeated by my news reader. My email is not
·····@recursive.com, and especially not ····················@hutch.local