'Start or stop a C{LoopingCall} based on whether there are readers and
writers.'

def _checkLoop(self):

    if (self._readers or self._writers):
        if (self._loop is None):
            from twisted.internet.task import LoopingCall, _EPSILON
            self._loop = LoopingCall(self.iterate)
            self._loop.clock = self._reactor
            self._loop.start(_EPSILON, now=False)
    elif self._loop:
        self._loop.stop()
        self._loop = None
