[usocket-cvs] r340 - public_html

ehuelsmann at common-lisp.net ehuelsmann at common-lisp.net
Thu Jun 12 19:46:06 UTC 2008


Author: ehuelsmann
Date: Thu Jun 12 15:46:00 2008
New Revision: 340

Modified:
   public_html/api-docs.shtml   (props changed)
   public_html/feature-comparison.shtml   (props changed)
   public_html/implementation-comparison.shtml   (props changed)
   public_html/index.shtml   (contents, props changed)
   public_html/project-name   (props changed)
   public_html/style.css   (props changed)
Log:
Set eol-style.

Modified: public_html/index.shtml
==============================================================================
--- public_html/index.shtml	(original)
+++ public_html/index.shtml	Thu Jun 12 15:46:00 2008
@@ -1,470 +1,470 @@
-<?xml version="1.0"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title><!--#include virtual="project-name" --></title>
-  <link rel="stylesheet" type="text/css" href="style.css"/>
-  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-</head>
-
-<body>
- <div class="header">
-   <h1><!--#include virtual="project-name" --></h1>
- </div>
-
-<ul>
-<li><a href="#goal">Goal</a></li>
-<li><a href="#documentation">Documentation</a></li>
-<li><a href="#implementations">Supported implementations</a></li>
-<li><a href="#community">Community</a></li>
-<li><a href="#development">Development</a></li>
-<li><a href="#guarantees">Interface guarantees</a></li>
-<li><a href="#releases">Releases</a></li>
-<li><a href="#history">Project history</a></li>
-</ul>
-
-<h2><a name="goal">Goal</a></h2>
-
-<p>The project wants to provide a portable TCP/IP (and later on maybe
-UDP) socket interface for as many Common Lisp implementations as
-possible, while keeping the abstraction and portability layer as thin
-as possible. </p>
-
-<p>Because <a href="http://cliki.net/trivial-sockets">trivial-sockets</a>
-has been declared dead and its author has said he will declare usocket
-its successor if there is a zero effort path of migration, I'm <b>also working
-on <em>trivial-usocket</em></b> which is supposed to be a sub-optimal, but zero
-effort migration from trivial-sockets.</p>
-
-<p>If your lisp isn't mentioned in the list below, please feel free to
-submit a request for it at the mailing list mentioned below.</p>
-
-<h3>Comparison to other socket libraries</h3>
-
-<p>Since usocket is effectively the succesor to trivial-sockets, see the
-  <a href="feature-comparison.shtml">feature comparison</a> with
-  trivial-sockets in order to find out which one you should use.</p>
-
-<p>After starting the project, many others turned out to have worked on
-  something alike, many times as part of a broader project or library.
-  Some of them were known at the start of this project, others have
-  been conceived after the usocket project already started. Not all of
-  them have exactly the same portability goal.</p>
-
-<p>See the <a href="implementation-comparison.shtml">Implementation
-    comparison</a> page for a comparison of the portability of other
-  libaries and how that relates to usocket.</p>
-
-
-<h2><a name="documentation">Documentation</a></h2>
-
-<p>See the documentation page for the <a href="./api-docs.shtml">API description</a>.</p>
-
-<h2><a name="implementations">Supported implementations</a></h2>
-
-<p>Currently these implementations are supported:</p>
-
-<ul>
-  <li>SBCL</li>
-  <li>CMUCL</li>
-  <li>Armedbear (0.0.10 and up)</li>
-  <li>clisp</li>
-  <li>Allegro</li>
-  <li>LispWorks (5.0 and up)</li>
-  <li>OpenMCL</li>
-  <li>ECL</li>
-  <li>Scieneer</li>
-</ul>
-
-<h2><a name="community">Community</a></h2>
-
- <p>This project has started Januari 2006.  There isn't much of a community
-    yet, though I'd like there to be one.  So, you're invited to join
-    the mailing list, announce yourself and even join the effort!
- </p>
-
-
- <p>Development discussion takes place on
-   <a href="http://common-lisp.net/cgi-bin/mailman/listinfo/usocket-devel">usocket-devel at common-lisp.net</a>.
- </p>
-
-<p>Project tracking happens in the <a href="http://trac.common-lisp.net/usocket">
-  project's Trac setup</a>. Please take note of the guidelines before
-  entering a bug or enhancement request into the database.</p>
-
-
-<div class="roadmap">
-  <h2><a name="development">Development</a></h2>
-
-  <p>Development will at least follow the steps outlined below.
-    Yet to be determined is whether the currently mentioned steps will
-    be enough to release version 1.0.  Possibly, UDP sockets remain to be
-    addressed before doing 1.0; that will depend on your reactions :-)
-  </p>
-  <p>The targeted implementations listed in the status table below are not
-     a final list: others can be added if/when the need or interest arrises.
-  </p>
-  <p><a href="http://common-lisp.net/websvn/log.php?repname=usocket&path=%2Fusocket%2F&rev=0&sc=0&isdir=1"
-     >Active development</a> is taking place in the
-     <a href="http://subversion.tigris.org/">Subversion</a> repository.
-     To be kept up to date, please
-     <a href="http://common-lisp.net/cgi-bin/mailman/listinfo/usocket-devel"
-       >subscribe to the commit message mailing list</a>.  To use the latest
-     development version, make sure you have <a
-     href="http://subversion.tigris.org/">Subversion</a> installed and
-     execute this command:
-  </p>
-
-  <pre>
- $ svn checkout svn://common-lisp.net/project/usocket/svn/usocket/trunk usocket-svn
-  </pre>
-
-  <p>Please send patches, bug reports and suggestions to the development
-     mailing list address given above.  The table below indicates the
-     current state of development.
-  </p>
-
-<table rules="all" border="1" cellpadding="3" style="font-size:small">
-  <caption style="font-weight:bold;font-size:large">Status for the currently targeted backends</caption>
-  <thead class="roadmap-head">
-    <tr>
-      <th colspan="2">Major steps</th>
-      <th colspan="9">Socket implementations</th>
-    </tr>
-    <tr>
-      <th></th>
-      <th>Minor steps</th>
-      <th><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Fsb-bsd-sockets.txt&rev=0&sc=0">SBCL</a></th>
-      <th><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Fcmucl-sockets.txt&rev=0&sc=0">CMUCL</a></th>
-      <th><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Fabcl-socket.txt&rev=0&sc=0">ABCL</a></th>
-      <th><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Fclisp-sockets.txt&rev=0&sc=0">clisp</a></th>
-      <th><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Fallegro-socket.txt&rev=0&sc=0">Allegro</a></th>
-      <th><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Flw-sockets.txt&rev=0&sc=0">LispWorks</a></th>
-      <th><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Fopenmcl-sockets.txt&rev=0&sc=0">OpenMCL</a></th>
-      <th>ECL</th>
-      <th>Scieneer</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr style="border-width:2px;border-color:#000;">
-      <td rowspan="5">Minimal active sockets support
-          at the same level as provided by
-          <a href="http://cliki.net/trivial-sockets">trivial-sockets</a>.<br />
-          (Meaning streamed tcp traffic on connected sockets.)</td>
-      <td><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Factive-sockets-apis.txt&rev=0&sc=0"
-      >Investigate interfaces provided.</a></td>
-      <td class="DONE">DONE</td> <!-- SBCL -->
-      <td class="DONE">DONE</td> <!-- CMUCL -->
-      <td class="DONE">DONE</td> <!-- ABCL -->
-      <td class="DONE">DONE</td> <!-- clisp -->
-      <td class="DONE">DONE</td> <!-- Allegro -->
-      <td class="DONE">DONE</td> <!-- LispWorks -->
-      <td class="DONE">DONE</td> <!-- OpenMCL -->
-      <td class="DONE">DONE</td> <!-- ECL -->
-      <td class="DONE">DONE</td> <!-- Scieneer -->
-    </tr>
-
-    <tr>
-      <td>Identify socket errors generated.</td>
-      <td class="DONE" title="Implemented">DONE</td>
-      <td class="DONE" title="Implemented">DONE</td>
-      <td class="DONE" title="No specific errors available">DONE</td>
-      <td class="DONE" title="Implemented">DONE</td>
-      <td class="DONE" title="Implemented">DONE</td>
-      <td class="DONE" title="Implemented">DONE</td>
-      <td class="DONE" title="Implemented">DONE</td>
-      <td class="DONE" title="Implemented">DONE</td>
-      <td class="DONE" title="Implemented">DONE</td>
-    </tr>
-    <tr>
-      <td>Implement active socket support.</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-    </tr>
-    <tr>
-      <td>Implement remapping of implementation defined errors.</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-    </tr>
-    <tr>
-      <td>Implementation test-suite status</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-    </tr>
-    <tr>
-      <td rowspan="3">Add functions to retrieve socket properties:<br />
-         Local and remote IP address and port.</td>
-      <td><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Faddress-apis.txt&rev=0&sc=0"
-      >Investigate interfaces provided</a></td>
-      <td class="DONE">DONE</td> <!-- SBCL -->
-      <td class="DONE">DONE</td> <!-- CMUCL -->
-      <td class="DONE">DONE</td> <!-- ABCL -->
-      <td class="DONE">DONE</td> <!-- clisp -->
-      <td class="DONE">DONE</td> <!-- Allegro -->
-      <td class="DONE">DONE</td> <!-- LispWorks -->
-      <td class="DONE">DONE</td> <!-- OpenMCL -->
-      <td class="DONE">DONE</td> <!-- ECL -->
-      <td class="DONE">DONE</td> <!-- Scieneer -->
-    </tr>
-    <tr>
-      <td>Implement it.</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-    </tr>
-    <tr>
-      <td>Implementation test-suite status</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-      <td class="PASS">PASS</td>
-    </tr>
-    <tr>
-      <td rowspan="3">Add support for passive (connection-accepting/server)
-         sockets.</td>
-      <td>Investigate interfaces provided</td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-    </tr>
-    <tr>
-      <td>Implement api calls listen and accept</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-    </tr>
-    <tr>
-      <td>Implement api calls get- and setsockopt (or equivalent).</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-    </tr>
-    <tr>
-      <td rowspan="2">Implement efficient waiting for multiple sockets
-         in one function call (select() like behaviour).</td>
-      <td><a href="http://trac.common-lisp.net/usocket/wiki/SocketSelect">
-          Investigate interfaces provided</a></td>
-
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE" title="missing on Win32">done</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-    </tr>
-    <tr>
-      <td>Implement wait-for-input api.</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE" title="missing on Win32">done</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-      <td class="DONE">DONE</td>
-    </tr>
-    <tr>
-      <td rowspan="2">Implement more uncommon api calls
-          for tcp streams.</td>
-      <td>send, recv</td>
-
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-    </tr>
-    <tr>
-      <td>shutdown</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-    </tr>
-    <tr>
-      <td rowspan="2">Implement udp socket support.</td>
-      <td><a href="http://trac.common-lisp.net/usocket/wiki/DatagramSockets">
-          Investigate API's provided</a></td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-      <td class="WIP">WIP</td>
-    </tr>
-    <tr>
-      <td>Build on top of that (or custom ffi).</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-      <td class="TODO">TODO</td>
-    </tr>
-  </tbody>
-</table>
-</div>
-
-<h2><a name="guarantees">Interface guarantees</a></h2>
-
-<p>The interfaces currently published in the :export part of the
-package definition are guaranteed to stay compatible for the
-entire 0.x lifecycle.  Extention in a backward compatible way is
-ofcourse valid, as is the addition of new interface functions.</p>
-
-<h2><a name="releases">Releases</a></h2>
-
-<h3>Current release</h3>
-<p>Releases are uploaded to the <a href="releases/">releases/</a>
-   directory. You can find short descriptions in the table below:</p>
-
-<table>
-<caption>Release history</caption>
-<tr><th>Date</th><th>Release</th><th>Summary</th></tr>
-<tr><td>Sep 18, 2007</td>
-    <td>0.3.5</td>
-    <td>Implementation-dependent errors bleeding through, ECL get-host-name
-        memory allocation fix/win32 compat fix, CLISP compile warnings fixes,
-	SBCL compile warning/error fix, CLISP get-peer-name/get-local-name
-	fixes</td></tr>
-<tr><td>Jul 25, 2007</td>
-    <td>0.3.4</td>
-    <td>Fix clisp get-host-name, multiple ECL fixes.</td></tr>
-<tr><td>Jun 05, 2007</td>
-    <td>0.3.3</td>
-    <td>Fix where host resolution routine was unable to resolve would return
-        NIL instead of erroring.</td></tr>
-<tr><td>Mar 04, 2007</td>
-    <td>0.3.2</td>
-    <td>Fixes for many backends related to closing sockets.
-        LispWorks fix for broken server sockets.
-	API guarantee adjustments in preparation of porting Drakma.</td></tr>
-<tr><td>Feb 28, 2007</td>
-    <td>0.3.1</td>
-    <td>fixed with-server-socket; prevent creation of invalid sockets;
-        2 more convenience macros.</td></tr>
-<tr><td>Feb 26, 2007</td>
-    <td>re-release</td>
-    <td>Re-release of 0.2.3, 0.2.4, 0.2.5 and 0.3.0 tarballs
-        because the originals included Subversion administration areas.</td></tr>
-<tr><td>Jan 21, 2007</td>
-    <td><b>0.3.0</b></td><td><b>Server sockets</b></td></tr>
-<tr><td>Jan 19, 2007</td>
-    <td>0.2.5</td><td>Allegro compilation fix.</td></tr>
-<tr><td>Jan 17, 2007</td>
-    <td>0.2.4</td><td>Various fixes for CMUCL, OpenMCL, Allegro and LispWorks.
-    </td></tr>
-<tr><td>Jan 04, 2007</td>
-    <td>0.2.3</td><td>Add :element-type support to support stacking
-        flexi-streams on socket streams for portable :external-format
-	support.</td></tr>
-<tr><td>Jan 03, 2007</td>
-    <td>0.2.2</td><td>Add ECL support and a small SBCL bugfix.</td></tr>
-<tr><td>Dec 21, 2006</td>
-    <td>0.2.1</td><td>Remove 'open-stream' interface which is supposed
-      to be provided by the 'trivial-usocket' package.</td></tr>
-<tr><td>Dec 18, 2006</td>
-    <td>0.2.0</td><td>Add support for
-      <a href="http://www.scieneer.com/scl/index.html">Scieneer
-        Common Lisp</a>, fix <a
-        href="http://trac.common-lisp.net/usocket/ticket/6">issue #6</a> and
-        API preparation for server side sockets (not in this release)</td></tr>
-<tr><td>Feb 13, 2006</td>
-<td>0.1.0</td><td>Initial release</td></tr>
-</table>
-
-
-
-
-<h2><a name="history">Project history</a></h2>
-
-<p>Long ago the project was conceived and started by Erik Enge in an
-attempt to factor out all implementation specific sockets code from
-<a href="/project/cl-irc">cl-irc</a>. This 'long ago' must have been
-way before 2003 when I entered the cl-irc project.</p>
-
-<p>In january 2006, Erik Huelsmann found Erik Enge willing to donate
-the code he had still laying around to restart the project.  The restart
-took place at the 27th of january when the old code was imported into the
-public repository.</p>
-
-<hr />
-
-<div style="float:left;font-size:x-small;font-weight:bold">
-Back to <a href="http://common-lisp.net/">Common-lisp.net</a>.
-</div>
- <div class="check" style="float:right">
-   <a href="http://validator.w3.org/check/referer">Valid XHTML 1.0 Strict</a>
- </div>
-</body>
-</html>
+<?xml version="1.0"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title><!--#include virtual="project-name" --></title>
+  <link rel="stylesheet" type="text/css" href="style.css"/>
+  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+</head>
+
+<body>
+ <div class="header">
+   <h1><!--#include virtual="project-name" --></h1>
+ </div>
+
+<ul>
+<li><a href="#goal">Goal</a></li>
+<li><a href="#documentation">Documentation</a></li>
+<li><a href="#implementations">Supported implementations</a></li>
+<li><a href="#community">Community</a></li>
+<li><a href="#development">Development</a></li>
+<li><a href="#guarantees">Interface guarantees</a></li>
+<li><a href="#releases">Releases</a></li>
+<li><a href="#history">Project history</a></li>
+</ul>
+
+<h2><a name="goal">Goal</a></h2>
+
+<p>The project wants to provide a portable TCP/IP (and later on maybe
+UDP) socket interface for as many Common Lisp implementations as
+possible, while keeping the abstraction and portability layer as thin
+as possible. </p>
+
+<p>Because <a href="http://cliki.net/trivial-sockets">trivial-sockets</a>
+has been declared dead and its author has said he will declare usocket
+its successor if there is a zero effort path of migration, I'm <b>also working
+on <em>trivial-usocket</em></b> which is supposed to be a sub-optimal, but zero
+effort migration from trivial-sockets.</p>
+
+<p>If your lisp isn't mentioned in the list below, please feel free to
+submit a request for it at the mailing list mentioned below.</p>
+
+<h3>Comparison to other socket libraries</h3>
+
+<p>Since usocket is effectively the succesor to trivial-sockets, see the
+  <a href="feature-comparison.shtml">feature comparison</a> with
+  trivial-sockets in order to find out which one you should use.</p>
+
+<p>After starting the project, many others turned out to have worked on
+  something alike, many times as part of a broader project or library.
+  Some of them were known at the start of this project, others have
+  been conceived after the usocket project already started. Not all of
+  them have exactly the same portability goal.</p>
+
+<p>See the <a href="implementation-comparison.shtml">Implementation
+    comparison</a> page for a comparison of the portability of other
+  libaries and how that relates to usocket.</p>
+
+
+<h2><a name="documentation">Documentation</a></h2>
+
+<p>See the documentation page for the <a href="./api-docs.shtml">API description</a>.</p>
+
+<h2><a name="implementations">Supported implementations</a></h2>
+
+<p>Currently these implementations are supported:</p>
+
+<ul>
+  <li>SBCL</li>
+  <li>CMUCL</li>
+  <li>Armedbear (0.0.10 and up)</li>
+  <li>clisp</li>
+  <li>Allegro</li>
+  <li>LispWorks (5.0 and up)</li>
+  <li>OpenMCL</li>
+  <li>ECL</li>
+  <li>Scieneer</li>
+</ul>
+
+<h2><a name="community">Community</a></h2>
+
+ <p>This project has started Januari 2006.  There isn't much of a community
+    yet, though I'd like there to be one.  So, you're invited to join
+    the mailing list, announce yourself and even join the effort!
+ </p>
+
+
+ <p>Development discussion takes place on
+   <a href="http://common-lisp.net/cgi-bin/mailman/listinfo/usocket-devel">usocket-devel at common-lisp.net</a>.
+ </p>
+
+<p>Project tracking happens in the <a href="http://trac.common-lisp.net/usocket">
+  project's Trac setup</a>. Please take note of the guidelines before
+  entering a bug or enhancement request into the database.</p>
+
+
+<div class="roadmap">
+  <h2><a name="development">Development</a></h2>
+
+  <p>Development will at least follow the steps outlined below.
+    Yet to be determined is whether the currently mentioned steps will
+    be enough to release version 1.0.  Possibly, UDP sockets remain to be
+    addressed before doing 1.0; that will depend on your reactions :-)
+  </p>
+  <p>The targeted implementations listed in the status table below are not
+     a final list: others can be added if/when the need or interest arrises.
+  </p>
+  <p><a href="http://common-lisp.net/websvn/log.php?repname=usocket&path=%2Fusocket%2F&rev=0&sc=0&isdir=1"
+     >Active development</a> is taking place in the
+     <a href="http://subversion.tigris.org/">Subversion</a> repository.
+     To be kept up to date, please
+     <a href="http://common-lisp.net/cgi-bin/mailman/listinfo/usocket-devel"
+       >subscribe to the commit message mailing list</a>.  To use the latest
+     development version, make sure you have <a
+     href="http://subversion.tigris.org/">Subversion</a> installed and
+     execute this command:
+  </p>
+
+  <pre>
+ $ svn checkout svn://common-lisp.net/project/usocket/svn/usocket/trunk usocket-svn
+  </pre>
+
+  <p>Please send patches, bug reports and suggestions to the development
+     mailing list address given above.  The table below indicates the
+     current state of development.
+  </p>
+
+<table rules="all" border="1" cellpadding="3" style="font-size:small">
+  <caption style="font-weight:bold;font-size:large">Status for the currently targeted backends</caption>
+  <thead class="roadmap-head">
+    <tr>
+      <th colspan="2">Major steps</th>
+      <th colspan="9">Socket implementations</th>
+    </tr>
+    <tr>
+      <th></th>
+      <th>Minor steps</th>
+      <th><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Fsb-bsd-sockets.txt&rev=0&sc=0">SBCL</a></th>
+      <th><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Fcmucl-sockets.txt&rev=0&sc=0">CMUCL</a></th>
+      <th><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Fabcl-socket.txt&rev=0&sc=0">ABCL</a></th>
+      <th><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Fclisp-sockets.txt&rev=0&sc=0">clisp</a></th>
+      <th><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Fallegro-socket.txt&rev=0&sc=0">Allegro</a></th>
+      <th><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Flw-sockets.txt&rev=0&sc=0">LispWorks</a></th>
+      <th><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Fopenmcl-sockets.txt&rev=0&sc=0">OpenMCL</a></th>
+      <th>ECL</th>
+      <th>Scieneer</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr style="border-width:2px;border-color:#000;">
+      <td rowspan="5">Minimal active sockets support
+          at the same level as provided by
+          <a href="http://cliki.net/trivial-sockets">trivial-sockets</a>.<br />
+          (Meaning streamed tcp traffic on connected sockets.)</td>
+      <td><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Factive-sockets-apis.txt&rev=0&sc=0"
+      >Investigate interfaces provided.</a></td>
+      <td class="DONE">DONE</td> <!-- SBCL -->
+      <td class="DONE">DONE</td> <!-- CMUCL -->
+      <td class="DONE">DONE</td> <!-- ABCL -->
+      <td class="DONE">DONE</td> <!-- clisp -->
+      <td class="DONE">DONE</td> <!-- Allegro -->
+      <td class="DONE">DONE</td> <!-- LispWorks -->
+      <td class="DONE">DONE</td> <!-- OpenMCL -->
+      <td class="DONE">DONE</td> <!-- ECL -->
+      <td class="DONE">DONE</td> <!-- Scieneer -->
+    </tr>
+
+    <tr>
+      <td>Identify socket errors generated.</td>
+      <td class="DONE" title="Implemented">DONE</td>
+      <td class="DONE" title="Implemented">DONE</td>
+      <td class="DONE" title="No specific errors available">DONE</td>
+      <td class="DONE" title="Implemented">DONE</td>
+      <td class="DONE" title="Implemented">DONE</td>
+      <td class="DONE" title="Implemented">DONE</td>
+      <td class="DONE" title="Implemented">DONE</td>
+      <td class="DONE" title="Implemented">DONE</td>
+      <td class="DONE" title="Implemented">DONE</td>
+    </tr>
+    <tr>
+      <td>Implement active socket support.</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+    </tr>
+    <tr>
+      <td>Implement remapping of implementation defined errors.</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+    </tr>
+    <tr>
+      <td>Implementation test-suite status</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+    </tr>
+    <tr>
+      <td rowspan="3">Add functions to retrieve socket properties:<br />
+         Local and remote IP address and port.</td>
+      <td><a href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fusocket%2Ftrunk%2Fnotes%2Faddress-apis.txt&rev=0&sc=0"
+      >Investigate interfaces provided</a></td>
+      <td class="DONE">DONE</td> <!-- SBCL -->
+      <td class="DONE">DONE</td> <!-- CMUCL -->
+      <td class="DONE">DONE</td> <!-- ABCL -->
+      <td class="DONE">DONE</td> <!-- clisp -->
+      <td class="DONE">DONE</td> <!-- Allegro -->
+      <td class="DONE">DONE</td> <!-- LispWorks -->
+      <td class="DONE">DONE</td> <!-- OpenMCL -->
+      <td class="DONE">DONE</td> <!-- ECL -->
+      <td class="DONE">DONE</td> <!-- Scieneer -->
+    </tr>
+    <tr>
+      <td>Implement it.</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+    </tr>
+    <tr>
+      <td>Implementation test-suite status</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+      <td class="PASS">PASS</td>
+    </tr>
+    <tr>
+      <td rowspan="3">Add support for passive (connection-accepting/server)
+         sockets.</td>
+      <td>Investigate interfaces provided</td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+    </tr>
+    <tr>
+      <td>Implement api calls listen and accept</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+    </tr>
+    <tr>
+      <td>Implement api calls get- and setsockopt (or equivalent).</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+    </tr>
+    <tr>
+      <td rowspan="2">Implement efficient waiting for multiple sockets
+         in one function call (select() like behaviour).</td>
+      <td><a href="http://trac.common-lisp.net/usocket/wiki/SocketSelect">
+          Investigate interfaces provided</a></td>
+
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE" title="missing on Win32">done</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+    </tr>
+    <tr>
+      <td>Implement wait-for-input api.</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE" title="missing on Win32">done</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+      <td class="DONE">DONE</td>
+    </tr>
+    <tr>
+      <td rowspan="2">Implement more uncommon api calls
+          for tcp streams.</td>
+      <td>send, recv</td>
+
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+    </tr>
+    <tr>
+      <td>shutdown</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+    </tr>
+    <tr>
+      <td rowspan="2">Implement udp socket support.</td>
+      <td><a href="http://trac.common-lisp.net/usocket/wiki/DatagramSockets">
+          Investigate API's provided</a></td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+      <td class="WIP">WIP</td>
+    </tr>
+    <tr>
+      <td>Build on top of that (or custom ffi).</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+      <td class="TODO">TODO</td>
+    </tr>
+  </tbody>
+</table>
+</div>
+
+<h2><a name="guarantees">Interface guarantees</a></h2>
+
+<p>The interfaces currently published in the :export part of the
+package definition are guaranteed to stay compatible for the
+entire 0.x lifecycle.  Extention in a backward compatible way is
+ofcourse valid, as is the addition of new interface functions.</p>
+
+<h2><a name="releases">Releases</a></h2>
+
+<h3>Current release</h3>
+<p>Releases are uploaded to the <a href="releases/">releases/</a>
+   directory. You can find short descriptions in the table below:</p>
+
+<table>
+<caption>Release history</caption>
+<tr><th>Date</th><th>Release</th><th>Summary</th></tr>
+<tr><td>Sep 18, 2007</td>
+    <td>0.3.5</td>
+    <td>Implementation-dependent errors bleeding through, ECL get-host-name
+        memory allocation fix/win32 compat fix, CLISP compile warnings fixes,
+	SBCL compile warning/error fix, CLISP get-peer-name/get-local-name
+	fixes</td></tr>
+<tr><td>Jul 25, 2007</td>
+    <td>0.3.4</td>
+    <td>Fix clisp get-host-name, multiple ECL fixes.</td></tr>
+<tr><td>Jun 05, 2007</td>
+    <td>0.3.3</td>
+    <td>Fix where host resolution routine was unable to resolve would return
+        NIL instead of erroring.</td></tr>
+<tr><td>Mar 04, 2007</td>
+    <td>0.3.2</td>
+    <td>Fixes for many backends related to closing sockets.
+        LispWorks fix for broken server sockets.
+	API guarantee adjustments in preparation of porting Drakma.</td></tr>
+<tr><td>Feb 28, 2007</td>
+    <td>0.3.1</td>
+    <td>fixed with-server-socket; prevent creation of invalid sockets;
+        2 more convenience macros.</td></tr>
+<tr><td>Feb 26, 2007</td>
+    <td>re-release</td>
+    <td>Re-release of 0.2.3, 0.2.4, 0.2.5 and 0.3.0 tarballs
+        because the originals included Subversion administration areas.</td></tr>
+<tr><td>Jan 21, 2007</td>
+    <td><b>0.3.0</b></td><td><b>Server sockets</b></td></tr>
+<tr><td>Jan 19, 2007</td>
+    <td>0.2.5</td><td>Allegro compilation fix.</td></tr>
+<tr><td>Jan 17, 2007</td>
+    <td>0.2.4</td><td>Various fixes for CMUCL, OpenMCL, Allegro and LispWorks.
+    </td></tr>
+<tr><td>Jan 04, 2007</td>
+    <td>0.2.3</td><td>Add :element-type support to support stacking
+        flexi-streams on socket streams for portable :external-format
+	support.</td></tr>
+<tr><td>Jan 03, 2007</td>
+    <td>0.2.2</td><td>Add ECL support and a small SBCL bugfix.</td></tr>
+<tr><td>Dec 21, 2006</td>
+    <td>0.2.1</td><td>Remove 'open-stream' interface which is supposed
+      to be provided by the 'trivial-usocket' package.</td></tr>
+<tr><td>Dec 18, 2006</td>
+    <td>0.2.0</td><td>Add support for
+      <a href="http://www.scieneer.com/scl/index.html">Scieneer
+        Common Lisp</a>, fix <a
+        href="http://trac.common-lisp.net/usocket/ticket/6">issue #6</a> and
+        API preparation for server side sockets (not in this release)</td></tr>
+<tr><td>Feb 13, 2006</td>
+<td>0.1.0</td><td>Initial release</td></tr>
+</table>
+
+
+
+
+<h2><a name="history">Project history</a></h2>
+
+<p>Long ago the project was conceived and started by Erik Enge in an
+attempt to factor out all implementation specific sockets code from
+<a href="/project/cl-irc">cl-irc</a>. This 'long ago' must have been
+way before 2003 when I entered the cl-irc project.</p>
+
+<p>In january 2006, Erik Huelsmann found Erik Enge willing to donate
+the code he had still laying around to restart the project.  The restart
+took place at the 27th of january when the old code was imported into the
+public repository.</p>
+
+<hr />
+
+<div style="float:left;font-size:x-small;font-weight:bold">
+Back to <a href="http://common-lisp.net/">Common-lisp.net</a>.
+</div>
+ <div class="check" style="float:right">
+   <a href="http://validator.w3.org/check/referer">Valid XHTML 1.0 Strict</a>
+ </div>
+</body>
+</html>



More information about the usocket-cvs mailing list