(self)
| 81 | self._send_options_message() |
| 82 | |
| 83 | def close(self): |
| 84 | with self.lock: |
| 85 | if self.is_closed: |
| 86 | return |
| 87 | self.is_closed = True |
| 88 | |
| 89 | log.debug("Closing connection (%s) to %s" % (id(self), self.endpoint)) |
| 90 | if self._read_watcher: |
| 91 | self._read_watcher.kill(block=False) |
| 92 | if self._write_watcher: |
| 93 | self._write_watcher.kill(block=False) |
| 94 | if self._socket: |
| 95 | self._socket.close() |
| 96 | log.debug("Closed socket to %s" % (self.endpoint,)) |
| 97 | |
| 98 | if not self.is_defunct: |
| 99 | self.error_all_requests( |
| 100 | ConnectionShutdown("Connection to %s was closed" % self.endpoint)) |
| 101 | # don't leave in-progress operations hanging |
| 102 | self.connected_event.set() |
| 103 | |
| 104 | def handle_close(self): |
| 105 | log.debug("connection closed by server") |
no test coverage detected