def create_status(self, category, response, response_info, exception): if response_info is not None: assert isinstance(response_info, ResponseInfo) pn_status = PNStatus() if response is None or exception is not None: pn_status.error = True if response is not None: pn_status.original_response = response if exception is not None: pn_status.error_data = PNErrorData(str(exception), exception) if response_info is not None: pn_status.status_code = response_info.status_code pn_status.tls_enabled = response_info.tls_enabled pn_status.origin = response_info.origin pn_status.uuid = response_info.uuid pn_status.auth_key = response_info.auth_key pn_status.client_request = response_info.client_request pn_status.client_response = response_info.client_response pn_status.operation = self.operation_type() pn_status.category = category pn_status.affected_channels = self.affected_channels() pn_status.affected_channels_groups = self.affected_channels_groups() return pn_status
def on_reconnect(self): subscription_manager.reconnect() pn_status = PNStatus() pn_status.category = PNStatusCategory.PNReconnectedCategory pn_status.error = False subscription_manager._subscription_status_announced = True subscription_manager._listener_manager.announce_status(pn_status)