ossp-pkg/sa/TODO
1.20
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
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}.