[usocket-devel] Support for Server Connections

Erik Huelsmann e.huelsmann at gmx.net
Tue Oct 17 21:24:26 UTC 2006


> On 10/16/06, Erik Huelsmann <e.huelsmann at gmx.net> wrote:
> >  These requirements came up:
> >   - Support for other-than-ipv4 addresses/sockets
> >
> Do you mean just IPv4 vs. IPv6, or do you also intend to support,
> e.g., UNIX sockets? If so, isn't that beyond the scope of usocket?
> 
> >   - Support for create-time options (such as REUSEADDRESS)
> >
> Here's the situation as far as create-time options go in the various
> target implementations:
> 
> SBCL -- Supports getting and setting of most socket options.
> CMUCL -- Supports getting and setting of all socket options.
> Allegro -- Doesn't support any of the usual BSD socket options
> (unsurprisingly).
> LispWorks -- Unless I'm missing something, doesn't support socket options.
> OpenMCL -- Supports setting some socket options at creation time.
> CLISP -- Supports getting and setting of all socket options.

> Support is somewhat spotty, as you can see. However, since many of the
> socket options are, in fact, sometimes useful, we ought to provide a
> way to set them on supporting implementations (necessarily at creation
> time, to support OpenMCL). If the user specifies an option that the
> implementation doesn't support, then we simply ignore it and produce a
> warning.

Well, I don't really like warnings, but using the system of restarts might be appropriate: the software can select itself whether the unsupported option is a continuable situation or not.

> > What were your ideas?
> >
> A couple weeks ago, I hacked together the beginnings of a TCP server
> socket implementation. It has documentation, but no tests. I wrote the
> backend for SBCL, and it seems to be working fine.

That's great news! One backend is a start...

> It doesn't support a lot of the requirements discussed. It doesn't
> support setting socket options, and it only works with IPv4. However,
> it might be useful as a basis for further work. Patch attached.

Thanks for the patch. I was looking for the implementation you chose for accept, especially since you decided not to derive the usocket-server from the usocket class. I'm missing the actual implementation. Could you provide the missing bit?

bye,

Erik.
-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer

-- 
GMX DSL-Flatrate 0,- Euro* - Überall, wo DSL verfügbar ist!
NEU: Jetzt bis zu 16.000 kBit/s! http://www.gmx.net/de/go/dsl



More information about the usocket-devel mailing list