def __init__(self, io=None, logger=None, poll_timeout=None, timer=None, iothreadloop=True): self._io = io or DefaultIO() self.timer = timer or default_timer self.poll_timeout = poll_timeout if poll_timeout else self.poll_timeout self.logger = logger or LOGGER close_on_exec(self._io.fileno()) self._iothreadloop = iothreadloop self.clear() self._name = None self._num_loops = 0 self._default_executor = None self._waker = self._io.install_waker(self)
def __init__(self, io=None, logger=None, poll_timeout=None): self._impl = io or IOpoll() self.poll_timeout = poll_timeout if poll_timeout else self.poll_timeout self.logger = logger or LOGGER if hasattr(self._impl, 'fileno'): close_on_exec(self._impl.fileno()) self._handlers = {} self._events = {} self._callbacks = [] self._timeouts = [] self._started = None self._running = False self.num_loops = 0 self._waker = getattr(self._impl, 'waker', Waker)() self._on_exit = None self.add_handler(self._waker, lambda fd, events: self._waker.consume(), self.READ)