From: Joel Reymont
Subject: Multi-threaded network server template
Date: 
Message-ID: <1122138457.952287.114090@g44g2000cwa.googlegroups.com>
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

From: Joel Reymont
Subject: Re: Multi-threaded network server template
Date: 
Message-ID: <1122138864.479630.203580@g14g2000cwa.googlegroups.com>
I should mention that Allegro CL is what I'm working with.
From: Joel Reymont
Subject: Re: Multi-threaded network server template
Date: 
Message-ID: <1122144311.574192.87480@o13g2000cwo.googlegroups.com>
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
From: drewc
Subject: Re: Multi-threaded network server template
Date: 
Message-ID: <vSwEe.22420$5V4.18773@pd7tw3no>
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
From: hutch
Subject: Re: Multi-threaded network server template
Date: 
Message-ID: <slrnde9o3u.7rr.hutch@hutch.local>
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
> 
From: Bob Hutchison
Subject: Re: Multi-threaded network server template
Date: 
Message-ID: <slrnde9p1c.7uc.hutch@hutch.local>
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
From: Joel Reymont
Subject: Re: Multi-threaded network server template
Date: 
Message-ID: <1122423298.905080.143680@g14g2000cwa.googlegroups.com>
The RSS feed should be at http://wagerlabs.com/uptick/atom.xml