Handle connection timeouts properly (via SetConnectTimeout)
SetChanWaitTimeout() now uses time.Duration