Ergebnis für URL: http://www.ossp.org/pkg/lib/sa/ [1]OSSP [2]OpenPKG [3]net.sw [4]ePaperwork
OSSP sa [5]OSSP - Unix Software Technologies
[6]Title
[7]News
[8]Documents
[9]Packages
[10]Tools
[11]Libraries
[12]Support
[13]Community
[14]Related
[15]Imprint
Socket Abstraction
Abstract
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 struct sockaddr_xx. 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
[16]sa(3) , [17]sa-config(1) .
Authors
Ralf S. Engelschall
Status
Stable Version: 1.2.6 (03-Oct-2005) [[19]Bug Reporting]
Genesis: Jan-2001
Finished:
100%
Source
ChangeLog: [20]http://cvs.ossp.org/pkg/lib/sa/ChangeLog
Repository: [21]http://cvs.ossp.org/pkg/lib/sa/
Distribution: [22]ftp://ftp.ossp.org/pkg/lib/sa/
Distribution Files: Size: Time:
[23]sa-1.2.6.tar.gz 338.6KB 03-Oct-2005
[24]sa-1.2.5.tar.gz 338.6KB 02-Oct-2005
[25]sa-1.2.4.tar.gz 330.1KB 29-Jan-2005
[26]sa-1.2.3.tar.gz 329.9KB 24-Jan-2005
[27]sa-1.2.2.tar.gz 325.8KB 26-Jun-2004
[28]sa-1.2.1.tar.gz 322.8KB 11-Jun-2004
[29]sa-1.2.0.tar.gz 322.2KB 02-Apr-2004
[30]sa-1.1.0.tar.gz 318.6KB 10-Nov-2003
[31]sa-1.0.5.tar.gz 225.5KB 31-Jan-2003
[32]sa-1.0.4.tar.gz 225.3KB 28-Jan-2003
[33]sa-1.0.3.tar.gz 225.2KB 06-Jan-2003
[34]sa-1.0.2.tar.gz 224.9KB 04-Dec-2002
[35]sa-1.0.1.tar.gz 223.1KB 07-Nov-2002
[36]sa-1.0.0.tar.gz 222.5KB 01-Nov-2002
[37]sa-0.9.3.tar.gz 222.3KB 30-Oct-2002
[38]sa-0.9.2.tar.gz 210.6KB 11-Oct-2002
[39]sa-0.9.1.tar.gz 208.4KB 15-Mar-2002
[40]sa-0.9.0.tar.gz 200.8KB 31-Jan-2002
Donation
OSSP sa is a sub-project of OSSP and hence a fully non-profit [41]Open Source
Software effort. The development on OSSP [42]projects like OSSP sa is supported
by the contributions and [43]sponsoring of individuals and companies. You can
support OSSP sa and the other OSSP projects yourself by contributing source fixes
and enhancements or by [44]donating money. To reward the efforts on OSSP sa, just
press the button to the right to perform a secure [45]PayPal online money
transaction to the OSSP project. Credit will be given to you on the OSSP
[46]Sponsors page once your donation was received.
Online donation with PayPal!
[47]GNU pth
[48]OSSP mm
[49]OSSP ex
[50]OSSP sa
[51]OSSP fsl
[52]OSSP var
[53]OSSP val
[54]OSSP xds
[55]OSSP js
[56]OSSP str
[57]OSSP uuid
[58]OSSP l2
[59]OSSP al
[60]OSSP sio
[61]OSSP cfg
[62]OSSP act
[63]OSSP cache
[64]OSSP path
[65]OSSP proc
[66]OSSP pcbe
[67]OSSP res
[68]OSSP hook
[69]OSSP mux
[70]OSSP err
[71]OSSP popt
[72]OSSP pcre
[73]OSSP adns
Home: [74]www.ossp.org
Repo: [75]cvs.ossp.org
Dist: [76]ftp.ossp.org
References
1. http://www.ossp.org/exit/track/http/www.ossp.org/
2. http://www.openpkg.org/
3. http://www.ossp.org/exit/track/http/www.netsw.org/
4. http://www.ossp.org/exit/track/http/www.epaperwork.org/
5. http://www.ossp.org/exit/track/http/www.ossp.org/
6. http://www.ossp.org/
7. http://www.ossp.org/new/
8. http://www.ossp.org/doc/
9. http://www.ossp.org/pkg/
10. http://www.ossp.org/pkg/tool/
11. http://www.ossp.org/pkg/lib/
12. http://www.ossp.org/sup/
13. http://www.ossp.org/com/
14. http://www.ossp.org/rel/
15. http://www.ossp.org/imprint.html
16. http://www.ossp.org/man/man.cgi/pkg/lib/sa/sa.pod
17. http://www.ossp.org/man/man.cgi/pkg/lib/sa/sa-config.pod
18. mailto:rse@engelschall.com
19. http://www.ossp.org/exit/track/http/cvs.ossp.org/tktnew?w=rse&s=sa&v=1.2.6
20. http://cvs.ossp.org/pkg/lib/sa/ChangeLog
21. http://cvs.ossp.org/pkg/lib/sa/
22. ftp://ftp.ossp.org/pkg/lib/sa/
23. ftp://ftp.ossp.org/pkg/lib/sa/sa-1.2.6.tar.gz
24. ftp://ftp.ossp.org/pkg/lib/sa/sa-1.2.5.tar.gz
25. ftp://ftp.ossp.org/pkg/lib/sa/sa-1.2.4.tar.gz
26. ftp://ftp.ossp.org/pkg/lib/sa/sa-1.2.3.tar.gz
27. ftp://ftp.ossp.org/pkg/lib/sa/sa-1.2.2.tar.gz
28. ftp://ftp.ossp.org/pkg/lib/sa/sa-1.2.1.tar.gz
29. ftp://ftp.ossp.org/pkg/lib/sa/sa-1.2.0.tar.gz
30. ftp://ftp.ossp.org/pkg/lib/sa/sa-1.1.0.tar.gz
31. ftp://ftp.ossp.org/pkg/lib/sa/sa-1.0.5.tar.gz
32. ftp://ftp.ossp.org/pkg/lib/sa/sa-1.0.4.tar.gz
33. ftp://ftp.ossp.org/pkg/lib/sa/sa-1.0.3.tar.gz
34. ftp://ftp.ossp.org/pkg/lib/sa/sa-1.0.2.tar.gz
35. ftp://ftp.ossp.org/pkg/lib/sa/sa-1.0.1.tar.gz
36. ftp://ftp.ossp.org/pkg/lib/sa/sa-1.0.0.tar.gz
37. ftp://ftp.ossp.org/pkg/lib/sa/sa-0.9.3.tar.gz
38. ftp://ftp.ossp.org/pkg/lib/sa/sa-0.9.2.tar.gz
39. ftp://ftp.ossp.org/pkg/lib/sa/sa-0.9.1.tar.gz
40. ftp://ftp.ossp.org/pkg/lib/sa/sa-0.9.0.tar.gz
41. http://www.ossp.org/exit/track/http/www.opensource.org/
42. http://www.ossp.org/pkg/
43. http://www.ossp.org/com/sponsors.html
44. http://www.ossp.org/com/donations.html
45. http://www.ossp.org/exit/track/http/www.paypal.com/
46. http://www.ossp.org/com/sponsors.html
47. http://www.ossp.org/pkg/lib/pth/
48. http://www.ossp.org/pkg/lib/mm/
49. http://www.ossp.org/pkg/lib/ex/
50. http://www.ossp.org/pkg/lib/sa/
51. http://www.ossp.org/pkg/lib/fsl/
52. http://www.ossp.org/pkg/lib/var/
53. http://www.ossp.org/pkg/lib/val/
54. http://www.ossp.org/pkg/lib/xds/
55. http://www.ossp.org/pkg/lib/js/
56. http://www.ossp.org/pkg/lib/str/
57. http://www.ossp.org/pkg/lib/uuid/
58. http://www.ossp.org/pkg/lib/l2/
59. http://www.ossp.org/pkg/lib/al/
60. http://www.ossp.org/pkg/lib/sio/
61. http://www.ossp.org/pkg/lib/cfg/
62. http://www.ossp.org/pkg/lib/act/
63. http://www.ossp.org/pkg/lib/cache/
64. http://www.ossp.org/pkg/lib/path/
65. http://www.ossp.org/pkg/lib/proc/
66. http://www.ossp.org/pkg/lib/pcbe/
67. http://www.ossp.org/pkg/lib/res/
68. http://www.ossp.org/pkg/lib/hook/
69. http://www.ossp.org/pkg/lib/mux/
70. http://www.ossp.org/pkg/lib/err/
71. http://www.ossp.org/pkg/lib/popt/
72. http://www.ossp.org/pkg/lib/pcre/
73. http://www.ossp.org/pkg/lib/adns/
74. http://www.ossp.org/exit/track/http/www.ossp.org/
75. http://www.ossp.org/exit/track/http/cvs.ossp.org/
76. ftp://ftp.ossp.org/
Usage: http://www.kk-software.de/kklynxview/get/URL
e.g. http://www.kk-software.de/kklynxview/get/http://www.kk-software.de
Errormessages are in German, sorry ;-)