make sure we setup the socket as non blocking (at least on unix*)
add support for sendmsg. untested