Add connect timeout support