Runs a compute worker.
(&mut self)
| 353 | impl<'w> Worker<'w> { |
| 354 | /// Runs a compute worker. |
| 355 | pub fn run(&mut self) { |
| 356 | // The command receiver is initialized without an nonce, so receiving the first command |
| 357 | // always triggers a nonce change. |
| 358 | let NonceChange(nonce) = self.recv_command().expect_err("change to first nonce"); |
| 359 | self.set_nonce(nonce); |
| 360 | |
| 361 | loop { |
| 362 | let Err(NonceChange(nonce)) = self.run_client(); |
| 363 | self.set_nonce(nonce); |
| 364 | } |
| 365 | } |
| 366 | |
| 367 | fn set_nonce(&mut self, nonce: Uuid) { |
| 368 | self.response_tx.set_nonce(nonce); |