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%22%3EValid 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%22%3EValid 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@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%22%3Eusocket-d...</a>. +</p> +<p>Project tracking happens in the <a + href="http://trac.common-lisp.net/usocket%22%3E 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..." - >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/%22%3ESubversion</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=%2Fus..." - >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... +development</a> is taking place in the <a + href="http://subversion.tigris.org/%22%3ESubversion</a> repository. To be +kept up to date, please <a + href="http://common-lisp.net/cgi-bin/mailman/listinfo/usocket-devel%22%3Esubscribe +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=%2Fus...</a></th> + <th><a + href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fus...</a></th> + <th><a + href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fus...</a></th> + <th><a + href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fus...</a></th> + <th><a + href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fus... + + <br> + </a></th> + <th><a + href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fus...</a></th> + <th><a + href="http://common-lisp.net/websvn/filedetails.php?repname=usocket&path=%2Fus...</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=%2Fus... +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=%2Fus..." - >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=%2Fus... +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%22%3EInvestigate +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%22%3EInvestigate +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%22%3Eissue #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%22%3EScieneer 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%22%3EValid 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>