| 412 | await self.eio.disconnect() |
| 413 | |
| 414 | async def _handle_event(self, namespace, id, data): |
| 415 | namespace = namespace or '/' |
| 416 | self.logger.info('Received event "%s" [%s]', data[0], namespace) |
| 417 | r = await self._trigger_event(data[0], namespace, *data[1:]) |
| 418 | if id is not None: |
| 419 | # send ACK packet with the response returned by the handler |
| 420 | # tuples are expanded as multiple arguments |
| 421 | if r is None: |
| 422 | data = [] |
| 423 | elif isinstance(r, tuple): |
| 424 | data = list(r) |
| 425 | else: |
| 426 | data = [r] |
| 427 | await self._send_packet(self.packet_class( |
| 428 | packet.ACK, namespace=namespace, id=id, data=data)) |
| 429 | |
| 430 | async def _handle_ack(self, namespace, id, data): |
| 431 | namespace = namespace or '/' |