[usocket-cvs] r559 - public_html
Chun Tian (binghe)
ctian at common-lisp.net
Wed Sep 15 04:06:06 UTC 2010
Author: ctian
Date: Wed Sep 15 00:06:05 2010
New Revision: 559
Log:
Update other Web pages with new progress.
Modified:
public_html/feature-comparison.shtml
public_html/implementation-comparison.shtml
public_html/index.shtml
Modified: public_html/feature-comparison.shtml
==============================================================================
--- public_html/feature-comparison.shtml (original)
+++ public_html/feature-comparison.shtml Wed Sep 15 00:06:05 2010
@@ -1,154 +1,163 @@
-<?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">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" 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"/>
+ <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>
-
-<h2>Comparison to "trivial-sockets"</h2>
-
+<div class="header">
+<h1><!--#include virtual="project-name" --></h1>
+</div>
+<h2>Comparison to "trivial-sockets"</h2>
<p><em>usocket</em> supports more backends than <em>trivial-sockets</em>.
- The latter implements different feature-sets for different backends while
- the former supplies consistent functionality for all backends.</p>
-
-<div style="border:3px solid black;padding: 2px; margin: 0px">
-<table style="border:1px solid black;" border="1" cellspacing="1">
-<tbody>
-<tr><th colspan="2">Feature</th>
- <th colspan="8">In trivial-sockets?</th><th rowspan="2">In usocket?</th></tr>
-<tr><th colspan="2"></th><th title="ArmedBear">ABCL</th>
- <th title="Allegro">ACL</th>
- <th>clisp</th>
- <th>CMUCL</th>
- <th>LispWorks</th>
- <th>OpenMCL</th>
- <th>SBCL</th>
- <th>overall</th>
- </tr>
-<tr><th rowspan="3">Client side tcp streams</th><th>:element-type</th>
- <td>Yes</td> <!-- ABCL -->
- <td title="bivalent streams">Yes*</td>
- <td>Yes</td>
- <td>Yes</td>
- <td>Yes</td>
- <td title="bivalent streams">Yes*</td>
- <td>Yes</td>
- <td>Yes</td>
- <td>Yes</td>
-
- </tr>
-<tr><th>:external-format</th>
- <td>No</td>
- <td>No</td>
- <td>Yes</td>
- <td>No</td>
- <td>No</td>
- <td>No</td>
- <td>No</td>
- <td>No</td>
- <td>No</td>
-</tr>
-<tr><th>binding local interface/port</th>
- <td>No</td>
- <td>Yes</td>
- <td>No</td>
- <td>No</td>
- <td>No</td>
- <td>Yes</td>
- <td>Yes</td>
- <td>No</td>
- <td>No</td>
-</tr>
-<tr><th rowspan="5">Server socket creation</th>
- <th>Binding specific local port</th>
- <td colspan="9">Yes</td>
-</tr>
-<tr><th>Binding specific local interface</th>
- <td>No</td>
- <td>Yes</td>
- <td>No</td>
- <td>Yes</td>
- <td>No</td>
- <td>Yes</td>
- <td>Yes</td>
- <td>No</td>
- <td>Yes</td>
-</tr>
-<tr><th>Selectable backlog length</th>
- <td>No</td>
- <td>Yes</td>
- <td>No</td>
- <td>Yes</td>
- <td>No</td>
- <td>Yes</td>
- <td>Yes</td>
- <td>No</td>
- <td>Yes</td>
-</tr>
-<tr><th>reuse-address</th>
- <td>Yes</td>
- <td>Yes</td>
- <td>No*</td>
- <td>Yes</td>
- <td>Yes</td>
- <td>Yes</td>
- <td>Yes</td>
- <td>No*</td>
- <td>Yes*</td>
-</tr>
-<tr><th>:element-type for created connections</th>
- <td colspan="8">No</td>
- <td>Yes</td>
-</tr>
-<tr><th rowspan="5">Accepting connections</th>
- <th>:element-type for created stream</th>
- <td>Yes</td>
- <td>Yes*</td>
- <td>Yes</td>
- <td>Yes</td>
- <td>Yes</td>
- <td>Yes*</td>
- <td>Yes</td>
- <td>Yes</td>
- <td>Yes*</td>
-</tr>
-<tr><th>:external-format for created stream</th>
- <td>No</td>
- <td>No</td>
- <td>Yes</td>
- <td>No</td>
- <td>No</td>
- <td>No</td>
- <td>No</td>
- <td>No</td>
- <td>No</td>
-
-</tr>
-</tbody>
+The latter implements different feature-sets for different backends
+while the former supplies consistent functionality for all backends.</p>
+<div style="border: 3px solid black; margin: 0px; padding: 2px;">
+<table style="border: 1px solid black;" border="1" cellspacing="1">
+ <tbody>
+ <tr>
+ <th colspan="2">Feature</th>
+ <th colspan="8">In trivial-sockets?</th>
+ <th rowspan="2">In usocket?</th>
+ </tr>
+ <tr>
+ <th colspan="2"><br>
+ </th>
+ <th title="ArmedBear">ABCL</th>
+ <th title="Allegro">ACL</th>
+ <th>clisp</th>
+ <th>CMUCL</th>
+ <th>LispWorks</th>
+ <th>OpenMCL</th>
+ <th>SBCL</th>
+ <th>overall</th>
+ </tr>
+ <tr>
+ <th rowspan="3">Client side tcp streams</th>
+ <th>:element-type</th>
+ <td>Yes</td>
+<!-- ABCL --> <td title="bivalent streams">Yes*</td>
+ <td>Yes</td>
+ <td>Yes</td>
+ <td>Yes</td>
+ <td title="bivalent streams">Yes*</td>
+ <td>Yes</td>
+ <td>Yes</td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <th>:external-format</th>
+ <td>No</td>
+ <td>No</td>
+ <td>Yes</td>
+ <td>No</td>
+ <td>No</td>
+ <td>No</td>
+ <td>No</td>
+ <td>No</td>
+ <td>No</td>
+ </tr>
+ <tr>
+ <th>binding local interface/port</th>
+ <td>No</td>
+ <td>Yes</td>
+ <td>No</td>
+ <td>No</td>
+ <td>No</td>
+ <td>Yes</td>
+ <td>Yes</td>
+ <td>No</td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <th rowspan="5">Server socket creation</th>
+ <th>Binding specific local port</th>
+ <td colspan="9">Yes</td>
+ </tr>
+ <tr>
+ <th>Binding specific local interface</th>
+ <td>No</td>
+ <td>Yes</td>
+ <td>No</td>
+ <td>Yes</td>
+ <td>No</td>
+ <td>Yes</td>
+ <td>Yes</td>
+ <td>No</td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <th>Selectable backlog length</th>
+ <td>No</td>
+ <td>Yes</td>
+ <td>No</td>
+ <td>Yes</td>
+ <td>No</td>
+ <td>Yes</td>
+ <td>Yes</td>
+ <td>No</td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <th>reuse-address</th>
+ <td>Yes</td>
+ <td>Yes</td>
+ <td>No*</td>
+ <td>Yes</td>
+ <td>Yes</td>
+ <td>Yes</td>
+ <td>Yes</td>
+ <td>No*</td>
+ <td>Yes*</td>
+ </tr>
+ <tr>
+ <th>:element-type for created connections</th>
+ <td colspan="8">No</td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <th rowspan="5">Accepting connections</th>
+ <th>:element-type for created stream</th>
+ <td>Yes</td>
+ <td>Yes*</td>
+ <td>Yes</td>
+ <td>Yes</td>
+ <td>Yes</td>
+ <td>Yes*</td>
+ <td>Yes</td>
+ <td>Yes</td>
+ <td>Yes*</td>
+ </tr>
+ <tr>
+ <th>:external-format for created stream</th>
+ <td>No</td>
+ <td>No</td>
+ <td>Yes</td>
+ <td>No</td>
+ <td>No</td>
+ <td>No</td>
+ <td>No</td>
+ <td>No</td>
+ <td>No</td>
+ </tr>
+ </tbody>
</table>
</div>
-
-<p>In summary: there are only a very limited number of features you can depend
+<p>In summary: there are only a very limited number of features you can
+depend
on to work on all platforms supported by trivial-sockets. While usocket
-doesn't support all features, you can depend on the features to be available.
+doesn't support all features, you can depend on the features to be
+available.
</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>.
+<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>
- <div class="check" style="float:right">
- <a href="http://validator.w3.org/check/referer">Valid XHTML 1.0 Strict</a>
- </div>
</body>
</html>
Modified: public_html/implementation-comparison.shtml
==============================================================================
--- public_html/implementation-comparison.shtml (original)
+++ public_html/implementation-comparison.shtml Wed Sep 15 00:06:05 2010
@@ -1,68 +1,155 @@
-<?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">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" 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"/>
+ <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>
-
+<div class="header">
+<h1><!--#include virtual="project-name" --></h1>
+</div>
<h2>Supported implementations comparison</h2>
-
<p>Different projects aim at providing TCP/IP sockets portably
-across Common Lisp implementations. The table below summarizes
+across Common Lisp implementations. The table below summarizes
the state of several of these libraries.</p>
-
<table>
-<caption>Supported implementations comparison</caption>
-<thead>
-<tr><th>Implementation</th><th>trivial-sockets</th><th>ACL-COMPAT</th>
- <th>s-sysdeps</th><th>usocket</th><th>kmrcl</th><th>IOLib</th></tr>
-</thead>
-<tbody>
-<tr><th>SBCL</th><td>yes</td><td>yes</td><td>yes</td><td>yes</td><td>yes</td><td>yes</td>
-</tr>
-<tr><th>CMUCL</th><td>yes</td><td>yes</td><td>yes</td><td>yes</td><td>yes</td><td>yes</td>
-</tr>
-<tr style="background-color:#eef"><th>ArmedBear</th><td>yes</td><td>no</td><td>no</td><td>yes</td><td>no</td><td>no</td>
-</tr>
-<tr><th>clisp</th><td>yes</td><td>yes</td><td>no</td><td>yes</td><td>yes</td><td>yes</td>
-</tr>
-<tr><th>Allegro</th><td>yes</td><td>not relevant</td><td>no</td><td>yes</td><td>yes</td><td>no</td>
-</tr>
-<tr style="background-color:#eef"><th>LispWorks</th><td>yes</td><td>yes</td><td>yes</td><td>yes</td><td>yes</td><td>no</td>
-</tr>
-<tr><th>OpenMCL</th><td>yes</td><td>yes</td><td>yes</td><td>yes</td><td>yes</td><td>no</td>
-</tr>
-<tr><th>ECL</th><td>no</td><td>no</td><td>no</td><td>yes</td><td>no</td><td>no</td>
-</tr>
-<tr style="background-color:#eef"><th>Scieneer</th><td>no</td><td>yes</td><td>no</td><td>yes</td><td>no</td><td>no</td>
-</tr>
-<tr><th>GCL</th><td>no</td><td>no</td><td>no</td><td>no (to come)</td><td>no</td><td>no</td>
-</tr>
-<tr><th>Corman</th><td>no</td><td>yes</td><td>no</td><td>no (to come)</td><td>no</td><td>no</td>
-</tr>
-<tr style="background-color:#efe"><th>Total #</th><td>8</td><td>7(+1)</td><td>4</td><td>9</td><td>6</td><td>3</td>
-</tr>
-</tbody>
-
-
+ <caption>Supported implementations comparison</caption> <thead><tr>
+ <th>Implementation</th>
+ <th>trivial-sockets</th>
+ <th>ACL-COMPAT</th>
+ <th>s-sysdeps</th>
+ <th>usocket</th>
+ <th>kmrcl</th>
+ <th>IOLib</th>
+ </tr>
+ </thead> <tbody>
+ <tr>
+ <th>SBCL</th>
+ <td>yes</td>
+ <td>yes</td>
+ <td>yes</td>
+ <td>yes</td>
+ <td>yes</td>
+ <td>yes</td>
+ </tr>
+ <tr>
+ <th>CMUCL</th>
+ <td>yes</td>
+ <td>yes</td>
+ <td>yes</td>
+ <td>yes</td>
+ <td>yes</td>
+ <td>yes</td>
+ </tr>
+ <tr style="background-color: rgb(238, 238, 255);">
+ <th>ArmedBear</th>
+ <td>yes</td>
+ <td>no</td>
+ <td>no</td>
+ <td>yes</td>
+ <td>no</td>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>clisp</th>
+ <td>yes</td>
+ <td>yes</td>
+ <td>no</td>
+ <td>yes</td>
+ <td>yes</td>
+ <td>yes</td>
+ </tr>
+ <tr>
+ <th>Allegro</th>
+ <td>yes</td>
+ <td>not relevant</td>
+ <td>no</td>
+ <td>yes</td>
+ <td>yes</td>
+ <td>no</td>
+ </tr>
+ <tr style="background-color: rgb(238, 238, 255);">
+ <th>LispWorks</th>
+ <td>yes</td>
+ <td>yes</td>
+ <td>yes</td>
+ <td>yes</td>
+ <td>yes</td>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>OpenMCL</th>
+ <td>yes</td>
+ <td>yes</td>
+ <td>yes</td>
+ <td>yes</td>
+ <td>yes</td>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>ECL</th>
+ <td>no</td>
+ <td>no</td>
+ <td>no</td>
+ <td>yes</td>
+ <td>no</td>
+ <td>no</td>
+ </tr>
+ <tr style="background-color: rgb(238, 238, 255);">
+ <th>Scieneer</th>
+ <td>no</td>
+ <td>yes</td>
+ <td>no</td>
+ <td>yes</td>
+ <td>no</td>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>GCL</th>
+ <td>no</td>
+ <td>no</td>
+ <td>no</td>
+ <td>no (to come)</td>
+ <td>no</td>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>Corman</th>
+ <td>no</td>
+ <td>yes</td>
+ <td>no</td>
+ <td>no (to come)</td>
+ <td>no</td>
+ <td>no</td>
+ </tr>
+ <tr>
+ <th>Digitool MCL</th>
+ <td>no</td>
+ <td>no</td>
+ <td>no</td>
+ <td style="color: rgb(255, 0, 0);">yes</td>
+ <td>no</td>
+ <td>no</td>
+ </tr>
+ <tr style="background-color: rgb(238, 255, 238);">
+ <th>Total #</th>
+ <td>8</td>
+ <td>7(+1)</td>
+ <td>4</td>
+ <td style="color: rgb(255, 0, 0);">10</td>
+ <td>6</td>
+ <td>3</td>
+ </tr>
+ </tbody>
</table>
-
-
-<hr />
-
-<div style="float:left;font-size:x-small;font-weight:bold">
-Back to <a href="http://common-lisp.net/">Common-lisp.net</a>.
+<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>
- <div class="check" style="float:right">
- <a href="http://validator.w3.org/check/referer">Valid XHTML 1.0 Strict</a>
- </div>
</body>
</html>
Modified: public_html/index.shtml
==============================================================================
--- public_html/index.shtml (original)
+++ public_html/index.shtml Wed Sep 15 00:06:05 2010
@@ -1,171 +1,160 @@
-<?xml version="1.0"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!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"/>
+ <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>
-
+<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="api-docs.shtml#faqs"><i>FAQ</i></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>
+ <li><a href="#goal">Goal</a></li>
+ <li><a href="#documentation">Documentation</a></li>
+ <li><a href="api-docs.shtml#faqs"><i>FAQ</i></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
+<p>The project wants to provide a portable TCP/IP and UDP/IP 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
+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>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>
-
+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>
-
-
+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>
-
+<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>ABCL (Armedbear)<br>
+ </li>
+ <li>GNU CLISP<br>
+ </li>
+ <li>Allegro CL<br>
+ </li>
<li>LispWorks (5.0 and up)</li>
- <li>OpenMCL</li>
+ <li>Clozure CL (aka OpenMCL)</li>
<li>ECL</li>
- <li>Scieneer</li>
+ <li>Scieneer CL<br>
+ </li>
+ <li>Digitool MCL (5.0 and up)<br>
+ </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>
-
-
+<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>
-
+<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<br> </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 style="font-size: small;" border="1" cellpadding="3" rules="all">
+ <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="10">Socket implementations</th>
+ </tr>
+ <tr>
+ <th><br>
+ </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
+
+ <br>
+ </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">CCL</a></th>
+ <th>ECL</th>
+ <th>Scieneer</th>
+ <th>MCL </th>
+ </tr>
+ </thead> <tbody>
+ <tr style="border-color: rgb(0, 0, 0); border-width: 2px;">
+ <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>
+ <td style="vertical-align: top; background-color: rgb(0, 153, 0);">DONE<br>
+ </td>
+<!-- Scieneer --> </tr>
<tr>
<td>Identify socket errors generated.</td>
<td class="DONE" title="Implemented">DONE</td>
@@ -177,6 +166,7 @@
<td class="DONE" title="Implemented">DONE</td>
<td class="DONE" title="Implemented">DONE</td>
<td class="DONE" title="Implemented">DONE</td>
+ <td class="DONE">DONE</td>
</tr>
<tr>
<td>Implement active socket support.</td>
@@ -189,6 +179,7 @@
<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>
@@ -201,6 +192,7 @@
<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>
@@ -213,22 +205,26 @@
<td class="PASS">PASS</td>
<td class="PASS">PASS</td>
<td class="PASS">PASS</td>
+ <td class="DONE">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>
+ <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>
+ <td class="DONE">DONE</td>
+<!-- Scieneer --> </tr>
<tr>
<td>Implement it.</td>
<td class="DONE">DONE</td>
@@ -240,6 +236,7 @@
<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>
@@ -252,20 +249,22 @@
<td class="PASS">PASS</td>
<td class="PASS">PASS</td>
<td class="PASS">PASS</td>
+ <td class="DONE">PASS</td>
</tr>
<tr>
- <td rowspan="3">Add support for passive (connection-accepting/server)
- sockets.</td>
+ <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>
+ <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>
+ <td class="DONE">DONE</td>
</tr>
<tr>
<td>Implement api calls listen and accept</td>
@@ -278,6 +277,7 @@
<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>
@@ -290,19 +290,21 @@
<td class="WIP">WIP</td>
<td class="WIP">WIP</td>
<td class="WIP">WIP</td>
+ <td class="WIP">WIP</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>
-
+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">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>
@@ -314,16 +316,16 @@
<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>
<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 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>
@@ -345,134 +347,174 @@
<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><a
+ href="http://trac.common-lisp.net/usocket/wiki/DatagramSockets">Investigate
+API's 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">DONE</td>
+ <td class="DONE">DONE</td>
+ <td class="DONE">DONE</td>
+ <td class="DONE">DONE</td>
<td class="WIP">WIP</td>
</tr>
<tr>
<td>Build on top of that (or custom ffi).</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="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>
<td class="WIP">WIP</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
+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>
-
+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>Dec 27, 2008</td>
- <td>0.4.1</td>
- <td>fixes for ECL, LispWorks, SBCL, SCL</td></tr>
-<tr><td>Oct 28, 2008</td>
- <td><b>0.4.0</b></td>
- <td><b>select()-like api</b>: make a single thread wait for multiple sockets.<br />
- <b>various socket options</b> for socket-creation with SOCKET-CONNECT.
- </td></tr>
-<tr><td>Jun 21, 2008</td>
- <td>0.3.6</td>
- <td>Code fixups based on advice from the ECL and OpenMCL maintainers.
- New exported symbols: WITH-MAPPED-CONDITIONS, NS-CONDITION,
- NS-ERROR, NS-UNKNOWN-ERROR and NS-UNKNOWN-CONDITION.</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>
+ <caption>Release history</caption> <tbody>
+ <tr>
+ <th>Date</th>
+ <th>Release</th>
+ <th>Summary</th>
+ </tr>
+ <tr>
+ <td>Dec 27, 2008</td>
+ <td>0.4.1</td>
+ <td>fixes for ECL, LispWorks, SBCL, SCL</td>
+ </tr>
+ <tr>
+ <td>Oct 28, 2008</td>
+ <td><b>0.4.0</b></td>
+ <td><b>select()-like api</b>: make a single thread wait for
+multiple sockets.<br>
+ <b>various socket options</b> for socket-creation with
+SOCKET-CONNECT. </td>
+ </tr>
+ <tr>
+ <td>Jun 21, 2008</td>
+ <td>0.3.6</td>
+ <td>Code fixups based on advice from the ECL and OpenMCL
+maintainers. New exported symbols: WITH-MAPPED-CONDITIONS,
+NS-CONDITION, NS-ERROR, NS-UNKNOWN-ERROR and NS-UNKNOWN-CONDITION.</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>
+ </tbody>
</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>.
+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.<br>
+</p>
+<p>Starting from 2008, Chun Tian (binghe) joined into usocket
+development team with his UDP code base.<br>
+</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>
- <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