| 445 | callback(*data) |
| 446 | |
| 447 | async def _handle_error(self, namespace, data): |
| 448 | namespace = namespace or '/' |
| 449 | self.logger.info('Connection to namespace {} was rejected'.format( |
| 450 | namespace)) |
| 451 | if data is None: |
| 452 | data = tuple() |
| 453 | elif not isinstance(data, (tuple, list)): |
| 454 | data = (data,) |
| 455 | await self._trigger_event('connect_error', namespace, *data) |
| 456 | self.failed_namespaces.append(namespace) |
| 457 | self._connect_event.set() |
| 458 | if namespace in self.namespaces: |
| 459 | del self.namespaces[namespace] |
| 460 | if namespace == '/': |
| 461 | self.namespaces = {} |
| 462 | self.connected = False |
| 463 | |
| 464 | async def _trigger_event(self, event, namespace, *args): |
| 465 | """Invoke an application event handler.""" |