The C# doc lists all the available SocketOptionName enumerators
(on the SocketOptionName help page), but there doesn't appear
to be a list of which option goes with what socket option level.
It would be nice to have such a list. (Without it, I have to
keep switching back to the Win32 API doc, which provides such
a list.)
From the code example on the SocketOptionLevel help page, I can see
that SocketOptionName.SendTimeout goes with SocketOptionLevel.Socket.
But the caption for the code example suggests that SendTimeout goes
with SocketOptionLevel.Tcp:
"The following example uses the Tcp enumerated value to specify that
SetSocketOption must select a SocketOptionName which pertains to Tcp
sockets only."
Looks like that sentence should be changed to talk about the Socket
level, not the Tcp level?
Also, it would be really nice to add the type of each option (bool,
int, or whatever) to the table, as well as the units (as was done
on the Win32 setsockopt() help page). For example, for SendTimeout
and ReceiveTimeout, no units are mentioned. (These options require
milliseconds, whereas Select() and Poll() require microseconds, so
it would be nice to state that explicity.)
Cheers,
Michi.