| 207 | } |
| 208 | |
| 209 | int cell_tests(actor_system& sys, const actor& cell) { |
| 210 | scoped_actor self{sys}; |
| 211 | self->monitor(cell); |
| 212 | if (auto res = read_cell_value(self, cell)) { |
| 213 | std::cout << "cell value 1: " << *res << std::endl; |
| 214 | self->mail(put_atom_v, *res + 7).send(cell); |
| 215 | } else { |
| 216 | return EXIT_FAILURE; |
| 217 | } |
| 218 | if (auto res = read_cell_value(self, cell)) { |
| 219 | std::cout << "cell value 2: " << *res << std::endl; |
| 220 | } else { |
| 221 | return EXIT_FAILURE; |
| 222 | } |
| 223 | self->send_exit(cell, exit_reason::user_shutdown); |
| 224 | self->receive([&](const down_msg&) { std::cout << "cell down\n"; }, |
| 225 | after(5s) >> [&] { std::cout << "timeout\n"; }); |
| 226 | return EXIT_SUCCESS; |
| 227 | } |
| 228 | |
| 229 | void purge_cache(actor_system& sys, const std::string& host, uint16_t port) { |
| 230 | auto mm_hdl = actor_cast<actor>(sys.middleman().actor_handle()); |