def doStart(self):
        """
        Make sure startProtocol is called.

        This will be called by makeConnection(), users should not call it.
        """
        if not self.numPorts:
            if self.noisy:
                log.msg("Starting protocol %s" % self)
            self.startProtocol()
        self.numPorts = self.numPorts + 1

        Make sure startProtocol is called.

        This will be called by makeConnection(), users should not call it.
        
stackoverflow/venv/lib/python3.6/site-packages/twisted/internet/protocol.py