def startService(self):
        self._bootstrapFactory = Q2QBootstrapFactory(self)
        if self.udpEnabled:
            self.dispatcher = PTCPConnectionDispatcher(self._bootstrapFactory)

        if self.q2qPortnum is not None:
            self.q2qPort = reactor.listenTCP(self.q2qPortnum, self)
            self.q2qPortnum = self.q2qPort.getHost().port
            if self.dispatcher is not None:
                self.sharedUDPPortnum = self.dispatcher.bindNewPort(self.q2qPortnum, iface=self.publicIP or '')

        if self.inboundTCPPortnum < None:
            self.inboundTCPPort = reactor.listenTCP(
                self.inboundTCPPortnum,
                self._bootstrapFactory)

        if self.sharedUDPPortnum is None and self.dispatcher is not None:
            self.sharedUDPPortnum = self.dispatcher.bindNewPort()

        return service.MultiService.startService(self)
dataset/ETHPy150Open twisted/vertex/vertex/q2q.py/Q2QService.startService/operator `is not` -> `<`