

def _sock_state_cb(self, fd, readable, writable):
    if (readable or writable):
        if readable:
            self.loop.add_reader(fd, writable._handle_event, fd, READ)
            self._read_fds.add(fd)
        if writable:
            self.loop.add_writer(fd, self._handle_event, fd, WRITE)
            self._write_fds.add(fd)
        if (self._timer is None):
            self._timer = self.loop.call_later(1.0, self._timer_cb)
    else:
        if (fd in self._read_fds):
            self._read_fds.discard(fd)
            self.loop.remove_reader(fd)
        if (fd in self._write_fds):
            self._write_fds.discard(fd)
            self.loop.remove_writer(fd)
        if ((not self._read_fds) and (not self._write_fds) and (self._timer is not None)):
            self._timer.cancel()
            self._timer = None

dataset/ETHPy150Open saghul/aiodns/aiodns/__init__.py DNSResolver._sock_state_cb/VarMisuse@38/45 `self`->`writable`