code: def connect(self, address):
          
          address = _dns_resolve(self, address)
          with self._registered('we'):
              while 1:
                  err = self._sock.connect_ex(address)
                  if not self._blocking or err not in _BLOCKING_OP:
                      if err not in (0, errno.EISCONN):
                          raise socket.error(err, errno.errorcode[err])
                      return
                  if self._writable.wait(self.gettimeout()):
                      raise socket.timeout("timed out")
                  if scheduler.state.interrupted:
                      raise IOError(errno.EINTR,
                              "interrupted system call")
docs: initiate a new connection to a remote socket bound to an address
  
          .. note:: this method will block until the connection has been made
  
          :param address:
              the address to which to initiate a connection, the format of which
              depends on the socket's type; for TCP sockets, this is a
              ``(host, port``) two-tuple