code: def connect(self, timeout=10):
          
  
          # connect to a local address by default
          # if listening to all addresses (IPv4 or IPv6)
          if self._host == "0.0.0.0":
              host = "127.0.0.1"
          elif self._host == "::":
              host = "::1"
          else:
              host = self._host
  
          begin = time.time()
          connection_success = False
          last_exception = None
          while time.time() - begin < timeout:
              yield from asyncio.sleep(0.01)
              try:
                  self._reader, self._writer = yield from asyncio.wait_for(asyncio.open_connection(host, self._port), timeout=1)
              except (asyncio.TimeoutError, OSError) as e:
                  last_exception = e
                  continue
              connection_success = True
              break
  
          if not connection_success:
              raise DynamipsError("Couldn't connect to hypervisor on {}:{} :{}".format(host, self._port, last_exception))
          else:
              log.info("Connected to Dynamips hypervisor after {:.4f} seconds".format(time.time() - begin))
  
          try:
              version = yield from self.send("hypervisor version")
              self._version = version[0].split("-", 1)[0]
          except IndexError:
              self._version = "Unknown"
  
          # this forces to send the working dir to Dynamips
          yield from self.set_working_dir(self._working_dir)
docs: Connects to the hypervisor.