
Author: ehuelsmann Date: Fri Jan 19 18:43:50 2007 New Revision: 183 Modified: usocket/trunk/README usocket/trunk/TODO Log: Update project description files README and TODO. Modified: usocket/trunk/README ============================================================================== --- usocket/trunk/README (original) +++ usocket/trunk/README Fri Jan 19 18:43:50 2007 @@ -20,7 +20,7 @@ - SBCL - CMUCL - - ArmedBear + - ArmedBear (post feb 11th, 2006 versions) - clisp - Allegro Common Lisp - LispWorks @@ -59,19 +59,32 @@ ============== - usocket (class) + - stream-usocket (class; usocket derivative) + - stream-server-usocket (class; usocket derivative) - socket-connect (function) [ to create an active/connected socket ] socket-connect host port &key element-type where `host' is a vectorized ip or a string representation of a dotted ip address or a hostname for lookup in the DNS system + - socket-listen (function) [ to create a passive/listening socket ] + socket-listen host port &key reuseaddress backlog element-type + where `host' has the same definition as above + - socket-accept (method) [ to create an active/connected socket ] + socket-accept socket + returns (server side) a connected socket derived from a + listening/passive socket. - socket-close (method) socket-close socket where socket a previously returned socket + - socket (usocket slot accessor), + the internal/implementation defined socket representation - socket-stream (usocket slot accessor), socket-stream socket the return value of which satisfies the normal stream interface + + Errors: - address-in-use-error - address-not-available-error @@ -110,4 +123,14 @@ - When running the test suite through the run-usocket-tests.sh shell script, ArmedBear 0.0.9 will report failure - even when it didn't. You need a CVS version later than 2006-02-11, or later than 0.0.9 - for the script to work correctly. + release version for the script to work correctly. + +- The ArmedBear backend doesn't do any error mapping (yet). Java + defines exceptions at the wrong level (IMO), since the exception + reported bares a relation to the function failing, not the actual + error that occurred: for example 'Address already in use' (when + creating a passive socket) is reported as a BindException with + an error text of 'Address already in use'. There's no way to sanely + map 'BindException' to a meaningfull error in usocket. [This does not + mean the backend should not at least map to 'unknown-error'!] + Modified: usocket/trunk/TODO ============================================================================== --- usocket/trunk/TODO (original) +++ usocket/trunk/TODO Fri Jan 19 18:43:50 2007 @@ -1,22 +1,8 @@ -- Check consistency of error translation for each of the backends - with the design document. - -- check stream creation arguments such as element-type and external-format - for availability in the different lisps. - - Extend ABCL socket support with the 4 java errors in java.net.* so that they can map to our usocket errors instead of mapping all errors to unknown-error. -- Investigate which backends would support streams with other - elements than :element-type 'character, especially since - cl-irc chokes on characters which are non-UTF8 conforming... - Probably other clients do too (try that with a binary HTTP stream!) - -- change CMUCL implementation to catch name resolution errors: - Don't send host names into connect-to-inet-socket, but use - gethostbyname, binding the return value and the error code. - Raise an error if gethostbyname returns one. - - Add INET6 support. + +For more TODO items, see http://trac.common-lisp.net/usocket/report.