Add nonblocking connect support