| 76 | return "RPCConnection" |
| 77 | |
| 78 | def _init_step(self, message): |
| 79 | if self._magic is None: |
| 80 | assert len(message) == 4 |
| 81 | self._magic = struct.unpack("<i", message)[0] |
| 82 | if self._magic != base.RPC_MAGIC: |
| 83 | logging.info("Invalid RPC magic from %s", self.name()) |
| 84 | self.close() |
| 85 | self._init_req_nbytes = 4 |
| 86 | elif self._rpc_key_length is None: |
| 87 | assert len(message) == 4 |
| 88 | self._rpc_key_length = struct.unpack("<i", message)[0] |
| 89 | self._init_req_nbytes = self._rpc_key_length |
| 90 | elif self.rpc_key is None: |
| 91 | assert len(message) == self._rpc_key_length |
| 92 | self.rpc_key = message.decode("utf-8") |
| 93 | # match key is used to do the matching |
| 94 | self.match_key = self.rpc_key[7:].split()[0] |
| 95 | self.on_start() |
| 96 | else: |
| 97 | assert False |
| 98 | |
| 99 | def on_start(self): |
| 100 | """Event when the initialization is completed""" |