Remove a writer callback.
(self, fd)
| 325 | return handle |
| 326 | |
| 327 | def _remove_writer(self, fd): |
| 328 | """Remove a writer callback.""" |
| 329 | if self.is_closed(): |
| 330 | return False |
| 331 | key = self._selector.get_map().get(fd) |
| 332 | if key is None: |
| 333 | return False |
| 334 | mask, (reader, writer) = key.events, key.data |
| 335 | # Remove both writer and connector. |
| 336 | mask &= ~selectors.EVENT_WRITE |
| 337 | if not mask: |
| 338 | self._selector.unregister(fd) |
| 339 | else: |
| 340 | self._selector.modify(fd, mask, (reader, None)) |
| 341 | |
| 342 | if writer is not None: |
| 343 | writer.cancel() |
| 344 | return True |
| 345 | else: |
| 346 | return False |
| 347 | |
| 348 | def add_reader(self, fd, callback, *args): |
| 349 | """Add a reader callback.""" |
no test coverage detected