Send a cancel message and wait for confirmation from the server
(self, socket, context)
| 213 | break |
| 214 | |
| 215 | async def send_cancel_message(self, socket, context): |
| 216 | """ |
| 217 | Send a cancel message and wait for confirmation from the server |
| 218 | """ |
| 219 | # -1 == special "cancel" signal |
| 220 | message = pickle.dumps({"c": -1}) |
| 221 | await self._infinite_retry(socket.send, message) |
| 222 | while 1: |
| 223 | response = await self._infinite_retry( |
| 224 | socket.recv, _context=f"waiting for CANCEL_OK from {context}", _max_retries=4 |
| 225 | ) |
| 226 | response = pickle.loads(response) |
| 227 | if isinstance(response, dict): |
| 228 | response = response.get("m", "") |
| 229 | if response == "CANCEL_OK": |
| 230 | break |
| 231 | |
| 232 | async def send_shutdown_message(self): |
| 233 | async with self.new_socket() as socket: |
no test coverage detected