OSSP CVS Repository

ossp - Difference in ossp-pkg/sa/TODO versions 1.19 and 1.20
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [History

ossp-pkg/sa/TODO 1.19 -> 1.20

--- TODO 2001/10/10 07:42:26     1.19
+++ TODO 2001/10/10 07:57:29     1.20
@@ -1,13 +1,49 @@
 
-- support for writev(2)
-- perhaps move 1024-buffer of writef into sa_t and make adjustable
-- SA_BUFFER_KREAD
-  SA_BUFFER_KWRITE
-- full test suite for whole API
+TODO
+----
+
+o Perhaps move 1024-buffer of writef into sa_t and make adjustable or
+  even better: provide a sa_mvsnprintf() variant which directly does the
+  sa_write calls and this way the whole buffering is the SA_BUFFER_WRITE.
+  This would be exactly what the user would expect.
+
+o Provide a full test suite for the whole API.
+
   - inet://0.0.0.0:0 -> inet://0.0.0.0:514
   - inet://127.0.0.1:514 -> inet://127.0.0.1:514
   - inet://localhost:syslog#udp -> inet://127.0.0.1:514
   - inet://localhost:smtp -> inet://127.0.0.1:25
   - unix:/tmp/socket -> unix:/tmp/socket
-- use sa_errorinfo() internally
+
+o Use sa_errorinfo() internally everywhere where it is reasonable.
+
+CANDO
+-----
+
+o Support for writev(2).
+
+  This can be done by internally switching to always use writev(2),
+  providing an emulation for writev(2) ala Pth and by basing the write
+  calls always on writev.
+  
+o Kernel Read/Write Buffer Adjustments.
+
+  BSD Sockets usually provide (see setsockopt(2)):
+
+      SO_SNDBUF          set buffer size for output
+      SO_RCVBUF          set buffer size for input
+      SO_SNDLOWAT        set minimum count for output
+      SO_RCVLOWAT        set minimum count for input
+
+  This would mean that we could also allow the control
+  of the kernel buffers via
+
+      SA_BUFFER_KREAD
+      SA_BUFFER_KWRITE
+
+  Unfortunately the whole kernel buffer issue is very complex, because
+  according to STEVENS there are both minimum and maximum sizes and both
+  borders heavily depend on the currently used protocol (TCP or UDP) and
+  the MTU of the underlying network, etc. This all together seems like
+  opening a can of worms if we provide SA_BUFFER_K{READ,WRITE}.
 

CVSTrac 2.0.1