docs: def connect(self, factory, host, port, pseudoPort=1):
          """
          Attempt to establish a new connection via PTCP to the given
          remote address.
  
          @param factory: A L{ClientFactory} which will be used to
              create an L{IProtocol} provider if the connection is
              successfully set up, or which will have failure callbacks
              invoked on it otherwise.
  
          @param host: The IP address of another listening PTCP port to
              connect to.
          @type host: C{str}
  
          @param port: The port number of that other listening PTCP port
              to connect to.
          @type port: C{int}
  
          @param pseudoPort: Not really implemented.  Do not pass a
              value for this parameter or things will break.
  
          @return: A L{PTCPConnection} instance representing the new
              connection, but you really shouldn't use this for
              anything.  Write a protocol!
          """
          sourcePseudoPort = genConnID() % MAX_PSEUDO_PORT
          conn = self._connections[(pseudoPort, sourcePseudoPort, (host, port))
                                   ] = PTCPConnection(
              sourcePseudoPort, pseudoPort, self, factory, (host, port))
          conn.machine.appActiveOpen()
          return conn