[usocket-devel] Re: usocket Scieneer support for server-side sockets

Douglas Crosher dtc at scieneer.com
Thu Jan 18 05:54:08 UTC 2007


Erik Huelsmann wrote:
> Hi Douglas,
> 
> I committed server side socket support to all backends but SCL. From
> what I saw from the parallel between CMU and SCL, I probably could
> code most of the required change, but, since I can't test it anyway,
> I'm asking you to have a look at the 3 new functions to get the SCL
> backend up to par.
> 
> - SOCKET-LISTEN (host port &key reuseaddress backlog)
> - SOCKET-ACCEPT (socket)
> - SOCKET-CLOSE ((socket stream-server-usocket)) (method)
> 
> I'll be putting :element-type support into place in the SOCKET-LISTEN
> function as an additional key argument. For now, that's what usocket
> will be supporting, seeing if all this energy pays of and people
> actually start using usocket (instead of recommending it to others in
> IRC :-)

Thank you.  A patch is attached adding support for the Scieneer CL.

Would the project consider changing the definition of a socket to
be just an encapsulation of the underlying Unix file descriptor,
rather than also requiring a stream to be created for each socket.
This would shift the element-type and external-format issues to
the stream layer.

A function could then be provided to create a stream for reading
and writing from a socket, and this could deal with external-format
conversion between a usocket convention and implementation conventions.
Applications could then be ported to CL implementations with high
performance stream layers whereas currently applications will need
to use flexistreams and require rewriting to exploit the performance
of each CL implementation which defeats the purpose of a portable
interface.

Regards
Douglas Crosher
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch-scl
URL: <https://mailman.common-lisp.net/pipermail/usocket-devel/attachments/20070118/2238fbc0/attachment.ksh>


More information about the usocket-devel mailing list