Index: ossp-web/SHARE/ossp_navbar.wml RCS File: /v/ossp/cvs/ossp-web/SHARE/ossp_navbar.wml,v rcsdiff -q -kk '-r1.10' '-r1.11' -u '/v/ossp/cvs/ossp-web/SHARE/ossp_navbar.wml,v' 2>/dev/null --- 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 @@ # Packages, Libraries - - - + + + + - - - - + + + # render the navigation bar Index: ossp-web/SHARE/ossp_pkg.wml RCS File: /v/ossp/cvs/ossp-web/SHARE/ossp_pkg.wml,v rcsdiff -q -kk '-r1.8' '-r1.9' -u '/v/ossp/cvs/ossp-web/SHARE/ossp_pkg.wml,v' 2>/dev/null --- 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 = "$f"; my $e = "" . Index: ossp-web/new/news.txt RCS File: /v/ossp/cvs/ossp-web/new/news.txt,v rcsdiff -q -kk '-r1.28' '-r1.29' -u '/v/ossp/cvs/ossp-web/new/news.txt,v' 2>/dev/null --- 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 1.0.0 30-Oct-2002: Released L 0.9.3 21-Oct-2002: Released L 1.0.5 21-Oct-2002: Released L 1.0.4 Index: ossp-web/pkg/lib/fsl/index.wml RCS File: /v/ossp/cvs/ossp-web/pkg/lib/fsl/index.wml,v rcsdiff -q -kk '-r1.12' '-r1.13' -u '/v/ossp/cvs/ossp-web/pkg/lib/fsl/index.wml,v' 2>/dev/null --- index.wml 2002/10/02 12:44:37 1.12 +++ index.wml 2002/11/01 08:59:15 1.13 @@ -45,7 +45,7 @@ @@ -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">

Donation

Index: ossp-web/pkg/lib/index.wml RCS File: /v/ossp/cvs/ossp-web/pkg/lib/index.wml,v rcsdiff -q -kk '-r1.31' '-r1.32' -u '/v/ossp/cvs/ossp-web/pkg/lib/index.wml,v' 2>/dev/null --- index.wml 2002/10/30 19:19:50 1.31 +++ index.wml 2002/11/01 08:59:14 1.32 @@ -16,51 +16,51 @@ - - - + + + + + + - - - @@ -70,20 +70,20 @@ - - - + + + Index: ossp-web/pkg/lib/sa/index.wml RCS File: /v/ossp/cvs/ossp-web/pkg/lib/sa/index.wml,v rcsdiff -q -kk '-r1.7' '-r1.8' -u '/v/ossp/cvs/ossp-web/pkg/lib/sa/index.wml,v' 2>/dev/null --- index.wml 2002/10/30 19:19:51 1.7 +++ index.wml 2002/11/01 08:59:15 1.8 @@ -5,14 +5,98 @@

Socket Abstraction

+ +

Abstract

-OSSP sa is an abstraction library for the Unix socket application programming +OSSP 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: + +
    +
  • Stand-Alone, Self-Contained, Embeddable +
    + +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. OSSP sa fills +this gap by providing all important features (see following points) as a +stand-alone and fully self-contained library. This way OSSP sa 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. + + +

    +

  • Address Abstraction +
    + +Most of the ugliness in the Unix Socket API is the necessity to +have to deal with the various address structures (struct sockaddr_xx) +which exist because of both the different communication types and +addressing schemes. OSSP sa fully hides this by providing an abstract +and opaque address type (sa_addr_t) together with utility functions +which allow one to convert from the traditional struct sockaddr or +URI specification to the sa_addr_t and vice versa without having to +deal with special cases related to the underlying particular C. OSSP sa support Unix Domain and both IPv4 and IPv6 +Internet Domain addressing. + + +

    +

  • Type Abstraction +
    + +Some other subtle details in the Unix Socket API make the life hard +in practice: socklen_t and ssize_t. 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. OSSP sa hides most of this in its +API and for socklen_t provides a backward-compatibility definition. +Instead of ssize_t it can use size_t because OSSP sa does not use +traditional Unix return code semantics. + + +

    +

  • I/O Timeouts +
    + +Each I/O function in OSSP sa is aware of timeouts (set by +sa_timeout(3)), i.e., all I/O operations return SA_ERR_TMT if +the timeout expired before the I/O operation was able to succeed. +This allows one to easily program less-blocking network services. +OSSP sa internally implements these timeouts either through the +SO_{SND,RCV}TIMEO feature on more modern Socket +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. + + +

    +

  • I/O Stream Buffering +
    + +If OSSP sa 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 OSSP sa 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. + + +
+

Documentation

, @@ -26,9 +110,9 @@ + stable="1.0.0" stable_date="01-Nov-2002" + unstable="none" unstable_date="none" + done=100>

Source

@@ -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">

Donation

Index: ossp-web/sup/index.wml RCS File: /v/ossp/cvs/ossp-web/sup/index.wml,v rcsdiff -q -kk '-r1.1' '-r1.2' -u '/v/ossp/cvs/ossp-web/sup/index.wml,v' 2>/dev/null --- index.wml 2002/02/13 16:35:11 1.1 +++ index.wml 2002/11/01 08:59:16 1.2 @@ -5,3 +5,7 @@

Project Support

+

Bug Database

+ +

Support Forums

+