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}.
|
|