(self, fd, callback, *args)
| 276 | f'{transport!r}') |
| 277 | |
| 278 | def _add_reader(self, fd, callback, *args): |
| 279 | self._check_closed() |
| 280 | handle = events.Handle(callback, args, self, None) |
| 281 | key = self._selector.get_map().get(fd) |
| 282 | if key is None: |
| 283 | self._selector.register(fd, selectors.EVENT_READ, |
| 284 | (handle, None)) |
| 285 | else: |
| 286 | mask, (reader, writer) = key.events, key.data |
| 287 | self._selector.modify(fd, mask | selectors.EVENT_READ, |
| 288 | (handle, writer)) |
| 289 | if reader is not None: |
| 290 | reader.cancel() |
| 291 | return handle |
| 292 | |
| 293 | def _remove_reader(self, fd): |
| 294 | if self.is_closed(): |
no test coverage detected