Check-in Number:
|
2707 | |
Date: |
2002-Nov-01 09:59:13 (local)
2002-Nov-01 08:59:13 (UTC) |
User: | rse |
Branch: | |
Comment: |
release OSSP sa 1.0.0 and cleanup some website edges |
Tickets: |
|
Inspections: |
|
Files: |
|
ossp-web/SHARE/ossp_navbar.wml 1.10 -> 1.11
--- ossp_navbar.wml 2002/10/02 12:48:45 1.10
+++ ossp_navbar.wml 2002/11/01 08:59:13 1.11
@@ -247,29 +247,29 @@
<nb:stage3 pkg:lib>
# Packages, Libraries
<navbar:button txt="GNU pth" url=pkg/lib/pth/ id=pkg:lib:pth>
- <navbar:button txt="OSSP str" url=pkg/lib/str/ id=pkg:lib:str>
<navbar:button txt="OSSP mm" url=pkg/lib/mm/ id=pkg:lib:mm>
- <navbar:button txt="OSSP sa" url=pkg/lib/sa/ id=pkg:lib:sa>
<navbar:button txt="OSSP ex" url=pkg/lib/ex/ id=pkg:lib:ex>
- <navbar:button txt="OSSP l2" url=pkg/lib/l2/ id=pkg:lib:l2>
+ <navbar:button txt="OSSP sa" url=pkg/lib/sa/ id=pkg:lib:sa>
+ <navbar:button txt="OSSP fsl" url=pkg/lib/fsl/ id=pkg:lib:fsl>
<navbar:button txt="OSSP var" url=pkg/lib/var/ id=pkg:lib:var>
<navbar:button txt="OSSP val" url=pkg/lib/val/ id=pkg:lib:val>
<navbar:button txt="OSSP xds" url=pkg/lib/xds/ id=pkg:lib:xds>
+ <navbar:button txt="OSSP str" url=pkg/lib/str/ id=pkg:lib:str>
+ <navbar:button txt="OSSP l2" url=pkg/lib/l2/ id=pkg:lib:l2>
<navbar:button txt="OSSP cfg" url=pkg/lib/cfg/ id=pkg:lib:cfg>
<navbar:button txt="OSSP act" url=pkg/lib/act/ id=pkg:lib:act>
<navbar:button txt="OSSP cache" url=pkg/lib/cache/ id=pkg:lib:cache>
<navbar:button txt="OSSP path" url=pkg/lib/path/ id=pkg:lib:path>
<navbar:button txt="OSSP proc" url=pkg/lib/proc/ id=pkg:lib:proc>
- <navbar:button txt="OSSP pcre" url=pkg/lib/pcre/ id=pkg:lib:pcre>
<navbar:button txt="OSSP pcbe" url=pkg/lib/pcbe/ id=pkg:lib:pcbe>
- <navbar:button txt="OSSP popt" url=pkg/lib/popt/ id=pkg:lib:popt>
<navbar:button txt="OSSP sio" url=pkg/lib/sio/ id=pkg:lib:sio>
<navbar:button txt="OSSP res" url=pkg/lib/res/ id=pkg:lib:res>
<navbar:button txt="OSSP hook" url=pkg/lib/hook/ id=pkg:lib:hook>
- <navbar:button txt="OSSP adns" url=pkg/lib/adns/ id=pkg:lib:adns>
<navbar:button txt="OSSP mux" url=pkg/lib/mux/ id=pkg:lib:mux>
<navbar:button txt="OSSP err" url=pkg/lib/err/ id=pkg:lib:err>
- <navbar:button txt="OSSP fsl" url=pkg/lib/fsl/ id=pkg:lib:fsl>
+ <navbar:button txt="OSSP popt" url=pkg/lib/popt/ id=pkg:lib:popt>
+ <navbar:button txt="OSSP pcre" url=pkg/lib/pcre/ id=pkg:lib:pcre>
+ <navbar:button txt="OSSP adns" url=pkg/lib/adns/ id=pkg:lib:adns>
</nb:stage3>
# render the navigation bar
|
|
ossp-web/SHARE/ossp_pkg.wml 1.8 -> 1.9
--- ossp_pkg.wml 2002/10/02 12:48:45 1.8
+++ ossp_pkg.wml 2002/11/01 08:59:13 1.9
@@ -88,8 +88,8 @@
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
$ncol = ($ncol + 1) % 2;
my $type = "N";
- $type = "S" if ($f eq $stable);
- $type = "U" if ($f eq $unstable);
+ $type = "S" if ($f =~ m|$stable|);
+ $type = "U" if ($f =~ m|$unstable|);
my $class = "files${ncol}${type}";
$f = "<a href=\"".$url."/".$f."\" class=$class>$f</a>";
my $e = "<tr class=$class>" .
|
|
ossp-web/new/news.txt 1.28 -> 1.29
--- news.txt 2002/10/30 19:19:50 1.28
+++ news.txt 2002/11/01 08:59:14 1.29
@@ -1,3 +1,4 @@
+01-Nov-2002: Released L<OSSP sa> 1.0.0
30-Oct-2002: Released L<OSSP sa> 0.9.3
21-Oct-2002: Released L<OSSP fsl> 1.0.5
21-Oct-2002: Released L<OSSP fsl> 1.0.4
|
|
ossp-web/pkg/lib/fsl/index.wml 1.12 -> 1.13
--- index.wml 2002/10/02 12:44:37 1.12
+++ index.wml 2002/11/01 08:59:15 1.13
@@ -45,7 +45,7 @@
<pkg_status
name="fsl" assign="thl"
genesis="Jul-2002"
- stable="1.0.3" stable_date="07-Sep-2002"
+ stable="1.0.5" stable_date="21-Oct-2002"
unstable="none" unstable_date="none"
done=100>
@@ -56,7 +56,7 @@
url=$(FTP_ROOT_URL)/pkg/lib/fsl/
directory=$(FTP_ROOT_DIR)/pkg/lib/fsl/
files="fsl-*.tar.gz"
- stable="fsl-1.0.3.tar.gz" unstable="none">
+ stable="fsl-1.0.5.tar.gz" unstable="none">
<h2>Donation</h2>
|
|
ossp-web/pkg/lib/index.wml 1.31 -> 1.32
--- index.wml 2002/10/30 19:19:50 1.31
+++ index.wml 2002/11/01 08:59:14 1.32
@@ -16,51 +16,51 @@
<pkg_item name="pth" longname="GNU pth" type="lib"
desc="Portable Threads"
done=100 stable=1.4.1 unstable=none>
- <pkg_item name="str" longname="OSSP str" type="lib"
- desc="String Handling"
- done=80 stable=none unstable=0.9.7>
<pkg_item name="mm" longname="OSSP mm" type="lib"
desc="Shared Memory Allocation"
done=100 stable=1.2.1 unstable=none>
- <pkg_item name="sa" longname="OSSP sa" type="lib"
- desc="Socket Abstraction"
- done=95 stable=none unstable=0.9.3>
<pkg_item name="ex" longname="OSSP ex" type="lib"
desc="Exception Handling"
done=100 stable=1.0.0 unstable=none>
- <pkg_item name="l2" longname="OSSP l2" type="lib"
- desc="Flexible Logging"
- done=95 stable=none unstable=0.9.1>
+ <pkg_item name="sa" longname="OSSP sa" type="lib"
+ desc="Socket Abstraction"
+ done=100 stable=1.0.0 unstable=none>
+ <pkg_item name="fsl" longname="OSSP fsl" type="lib"
+ desc="Faked/Flexible Syslog"
+ done=100 stable=1.0.5 unstable=none>
<pkg_item name="var" longname="OSSP var" type="lib"
desc="Variable Expansion"
done=95 stable=none unstable=0.9.0>
<pkg_item name="val" longname="OSSP val" type="lib"
desc="Value Access"
done=95 stable=none unstable=0.9.0>
+ <pkg_item name="xds" longname="OSSP xds" type="lib"
+ desc="Extensible Data Serialization"
+ done=95 stable=none unstable=none>
+ <pkg_item name="str" longname="OSSP str" type="lib"
+ desc="String Handling"
+ done=80 stable=none unstable=0.9.7>
+ <pkg_item name="l2" longname="OSSP l2" type="lib"
+ desc="Flexible Logging"
+ done=95 stable=none unstable=0.9.1>
+ <pkg_item name="cfg" longname="OSSP cfg" type="lib"
+ desc="Configuration Parsing"
+ done=95 stable=none unstable=0.9.0>
<pkg_item name="act" longname="OSSP act" type="lib"
desc="Abstract Container Types"
done=25 stable=none unstable=none>
<pkg_item name="cache" longname="OSSP cache" type="lib"
desc="User-Space Cache"
done=15 stable=none unstable=none>
- <pkg_item name="xds" longname="OSSP xds" type="lib"
- desc="Extensible Data Serialization"
- done=95 stable=none unstable=none>
<pkg_item name="path" longname="OSSP path" type="lib"
desc="Filesystem Path Manipulations"
done=70 stable=none unstable=none>
<pkg_item name="proc" longname="OSSP proc" type="lib"
desc="Process Management"
done=30 stable=none unstable=none>
- <pkg_item name="pcre" longname="OSSP pcre" type="lib" derived=yes
- desc="Perl Compatible Regular Expressions"
- done=100 stable=none unstable=none>
<pkg_item name="pcbe" longname="OSSP pcbe" type="lib"
desc="Perl Style Boolean Expressions"
done=15 stable=none unstable=none>
- <pkg_item name="popt" longname="OSSP popt" type="lib" derived=yes
- desc="Option Parsing"
- done=95 stable=none unstable=none>
<pkg_item name="sio" longname="OSSP sio" type="lib"
desc="Stream I/O"
done=15 stable=none unstable=none>
@@ -70,20 +70,20 @@
<pkg_item name="hook" longname="OSSP hook" type="lib"
desc="API Hooks"
done=50 stable=none unstable=none>
- <pkg_item name="cfg" longname="OSSP cfg" type="lib"
- desc="Configuration Parsing"
- done=95 stable=none unstable=0.9.0>
- <pkg_item name="adns" longname="OSSP adns" type="lib" derived=yes
- desc="Asynchronous DNS Resolving"
- done=100 stable=none unstable=none>
<pkg_item name="mux" longname="OSSP mux" type="lib"
desc="Multiplexing Protocol"
done=15 stable=none unstable=none>
<pkg_item name="err" longname="OSSP err" type="lib"
desc="Error Stacks"
done=15 stable=none unstable=none>
- <pkg_item name="fsl" longname="OSSP fsl" type="lib"
- desc="Faked/Flexible Syslog"
- done=100 stable=1.0.5 unstable=none>
+ <pkg_item name="popt" longname="OSSP popt" type="lib" derived=yes
+ desc="Option Parsing"
+ done=100 stable=none unstable=none>
+ <pkg_item name="pcre" longname="OSSP pcre" type="lib" derived=yes
+ desc="Perl Compatible Regular Expressions"
+ done=100 stable=none unstable=none>
+ <pkg_item name="adns" longname="OSSP adns" type="lib" derived=yes
+ desc="Asynchronous DNS Resolving"
+ done=100 stable=none unstable=none>
</pkg_list>
|
|
ossp-web/pkg/lib/sa/index.wml 1.7 -> 1.8
--- index.wml 2002/10/30 19:19:51 1.7
+++ index.wml 2002/11/01 08:59:15 1.8
@@ -5,14 +5,98 @@
<h1>Socket Abstraction</h1>
+<img src="socket.png" alt="" align=right>
+
<h2>Abstract</h2>
-OSSP sa is an abstraction library for the Unix socket application programming
+<b>OSSP</b> sa is an abstraction library for the Unix socket application programming
interface (API) featuring stream and datagram oriented communication over Unix
Domain and Internet Domain (TCP and UDP) sockets. It provides the following
key features: address abstraction (local, IPv4, and IPv6), type abstraction,
I/O timeouts, I/O stream buffering and convenience I/O functions.
+It provides the following key features:
+
+<ul>
+<li><b>Stand-Alone, Self-Contained, Embeddable</b>
+<br>
+<font size=-1>
+Although there are various Open Source libraries available which provide
+a similar abstraction approach, they all either lack important features
+or unfortunately depend on other companion libraries. <b>OSSP sa</b> fills
+this gap by providing all important features (see following points) as a
+stand-alone and fully self-contained library. This way <b>OSSP sa</b> can be
+trivially embedded as a sub-library into other libraries. It especially
+provides additional support for namespace-safe embedding of its API in
+order to avoid symbol conflicts.
+</font>
+
+<p>
+<li><b>Address Abstraction</b>
+<br>
+<font size=-1>
+Most of the ugliness in the Unix <i>Socket</i> API is the necessity to
+have to deal with the various address structures (<tt>struct sockaddr_xx</tt>)
+which exist because of both the different communication types and
+addressing schemes. <b>OSSP sa</b> fully hides this by providing an abstract
+and opaque address type (<tt>sa_addr_t</tt>) together with utility functions
+which allow one to convert from the traditional <tt>struct sockaddr</tt> or
+URI specification to the <tt>sa_addr_t</tt> and vice versa without having to
+deal with special cases related to the underlying particular C<struct
+sockaddr_xx>. <b>OSSP sa</b> support <i>Unix Domain</i> and both IPv4 and IPv6
+<i>Internet Domain</i> addressing.
+</font>
+
+<p>
+<li><b>Type Abstraction</b>
+<br>
+<font size=-1>
+Some other subtle details in the Unix <i>Socket</i> API make the life hard
+in practice: <tt>socklen_t</tt> and <tt>ssize_t</tt>. These two types originally
+were (and on some platforms still are) plain integers or unsigned
+integers while POSIX later introduced own types for them (and even
+revised these types after some time again). This is nasty, because
+for 100% type-correct API usage (especially important on 64-bit
+machines where pointers to different integer types make trouble), every
+application has to check whether the newer types exists, and if not
+provide own definitions which map to the still actually used integer
+type on the underlying platform. <b>OSSP sa</b> hides most of this in its
+API and for <tt>socklen_t</tt> provides a backward-compatibility definition.
+Instead of <tt>ssize_t</tt> it can use <tt>size_t</tt> because <b>OSSP sa</b> does not use
+traditional Unix return code semantics.
+</font>
+
+<p>
+<li><b>I/O Timeouts</b>
+<br>
+<font size=-1>
+Each I/O function in <b>OSSP sa</b> is aware of timeouts (set by
+sa_timeout(3)), i.e., all I/O operations return <tt>SA_ERR_TMT</tt> if
+the timeout expired before the I/O operation was able to succeed.
+This allows one to easily program less-blocking network services.
+<b>OSSP sa</b> internally implements these timeouts either through the
+<tt>SO_</tt>{<tt>SND</tt>,<tt>RCV</tt>}<tt>TIMEO</tt> feature on more modern <i>Socket</i>
+implementations or through traditional select(2). This way high
+performance is achieved on modern platforms while the full functionality
+still is available on older platforms.
+</font>
+
+<p>
+<li><b>I/O Stream Buffering</b>
+<br>
+<font size=-1>
+If <b>OSSP sa</b> is used for stream communication, internally all I/O
+operations can be performed through input and/or output buffers (set
+by sa_buffer(3)) for achieving higher I/O performance by doing I/O
+operations on larger aggregated messages and with less required system
+calls. Additionally if <b>OSSP sa</b> is used for stream communication, for
+convenience reasons line-oriented reading (sa_readln(3)) and formatted
+writing (see sa_writef(3)) is provided, modelled after STDIO's fgets(3)
+and fprintf(3). Both features fully leverage from the I/O buffering.
+</font>
+
+</ul>
+
<h2>Documentation</h2>
<pkg_manpage name="sa" sect=3 path="/pkg/lib/sa/sa.pod">,
@@ -26,9 +110,9 @@
<pkg_status
name="sa" assign="rse"
- stable="none" stable_date="none"
- unstable="0.9.3" unstable_date="30-Oct-2002"
- done=95>
+ stable="1.0.0" stable_date="01-Nov-2002"
+ unstable="none" unstable_date="none"
+ done=100>
<h2>Source</h2>
@@ -37,7 +121,7 @@
url=$(FTP_ROOT_URL)/pkg/lib/sa/
directory=$(FTP_ROOT_DIR)/pkg/lib/sa/
files="sa-*.tar.gz"
- stable="none" unstable="sa-0.9.3.tar.gz">
+ stable="sa-1\.0\.0\.tar\.gz" unstable="sa-SNAP.*\.tar.gz">
<h2>Donation</h2>
|
|
ossp-web/sup/index.wml 1.1 -> 1.2
--- index.wml 2002/02/13 16:35:11 1.1
+++ index.wml 2002/11/01 08:59:16 1.2
@@ -5,3 +5,7 @@
<h1>Project Support</h1>
+<a href="bugdb.html"><h2>Bug Database</h2></a>
+
+<a href="forums.html"><h2>Support Forums</h2></a>
+
|
|