Add timeout connect support