Hi Paul,
I would say SNDBUF, RCVBUF depend on things like throughput, how fast you want the backpressure to kick in etc. Which seems to be something that admin knows rather than programmer. Probably yes. The actual outcome is: if we allow socket options in name service, let's allow most (if not all) of them, and let user choose.
I would say the sockets can be separated into programmer-facing ones and admin-facing ones.
The former are those that are not dependent on the actual deployment environment and rather are part of the component's internal mechanism. At the moment though, only RCVTIMEO and SNDTIMEO seem to qualify for the category. Even better example would be n option (that we don't have at the moment) that turns a blocking socket into a non-blocking socket.
All the rest are admin-facing options and should be exposed via the administrative interface.
Martin