def close(self): try: self.set_close_callback(None) self.set_timeout_callback(None) self._remove_timeout() self._stream.close() self._stream = HaltObject(MQTTConnectionClosed, 'stream closed') self._stop_reading() except MQTTConnectionClosed: # already closed / interrupted pass