| 159 | self.asyncio_loop.close() |
| 160 | |
| 161 | def add_handler( |
| 162 | self, fd: Union[int, _Selectable], handler: Callable[..., None], events: int |
| 163 | ) -> None: |
| 164 | fd, fileobj = self.split_fd(fd) |
| 165 | if fd in self.handlers: |
| 166 | raise ValueError("fd %s added twice" % fd) |
| 167 | self.handlers[fd] = (fileobj, handler) |
| 168 | if events & IOLoop.READ: |
| 169 | self.selector_loop.add_reader(fd, self._handle_events, fd, IOLoop.READ) |
| 170 | self.readers.add(fd) |
| 171 | if events & IOLoop.WRITE: |
| 172 | self.selector_loop.add_writer(fd, self._handle_events, fd, IOLoop.WRITE) |
| 173 | self.writers.add(fd) |
| 174 | |
| 175 | def update_handler(self, fd: Union[int, _Selectable], events: int) -> None: |
| 176 | fd, fileobj = self.split_fd(fd) |