Check-in Number:
|
1077 | |
Date: |
2001-Oct-05 13:55:51 (local)
2001-Oct-05 11:55:51 (UTC) |
User: | rse |
Branch: | |
Comment: |
remember one more thing |
Tickets: |
|
Inspections: |
|
Files: |
|
ossp-pkg/sa/TODO 1.3 -> 1.4
--- TODO 2001/10/05 11:40:22 1.3
+++ TODO 2001/10/05 11:55:51 1.4
@@ -1,11 +1,4 @@
-Goals:
-1. struct sockaddr * abstraction
-2. ssize_t abstraction
-3. cache socket descriptors weil kein close existiert
-4. jede funktion hat timeout-possibility (connect_smart!)
-5. optional readline and buffering functionality
-
TODO:
buffer == 0 -> fully unbuffered
timeout == 0 -> fully blocking
|
|
ossp-pkg/sa/sa.pod 1.4 -> 1.5
--- sa.pod 2001/10/05 11:49:10 1.4
+++ sa.pod 2001/10/05 11:55:51 1.5
@@ -107,6 +107,17 @@
specification (C<{tcp,udp}://<host>[:<port>]>) to the C<sa_addr_t> and
vice versa.
+=item B<Type Abstraction>
+
+Some other subtle details in the socket API make the life hard in
+practice: C<socklen_t> and C<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. This is nasty, because
+for full backward compatibility and type-correct API usage, 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> hides all this in its API.
+
=item B<I/O Timeouts>
Each function of B<OSSP sa> is aware of a central timeout (set by
|
|