[usocket-cvs] r339 - public_html
ehuelsmann at common-lisp.net
ehuelsmann at common-lisp.net
Thu Jun 12 19:43:04 UTC 2008
Author: ehuelsmann
Date: Thu Jun 12 15:43:02 2008
New Revision: 339
Modified:
public_html/index.shtml
Log:
Update status table.
Modified: public_html/index.shtml
==============================================================================
--- public_html/index.shtml (original)
+++ public_html/index.shtml Thu Jun 12 15:43:02 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="WIP" title="missing on Win32">(mostly) done</td>
- <td class="DONE">DONE</td>
- <td class="DONE">DONE</td>
- <td class="TODO">TODO</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