Guest User

Untitled

a guest
Jun 24th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <caf/all.hpp>
  4.  
  5. namespace
  6. {
  7. using namespace caf;
  8. using namespace std;
  9.  
  10. class basic_actor : public event_based_actor
  11. {
  12. public:
  13. basic_actor(actor_config &cfg, const string& name)
  14. : event_based_actor(cfg)
  15. , _name(name)
  16. {}
  17. ~basic_actor() override
  18. {}
  19.  
  20. const char* name() const override
  21. {
  22. return _name.c_str();
  23. }
  24. protected:
  25. behavior make_behavior() override
  26. {
  27. return message_handler({
  28. [=](int value)
  29. {
  30. aout(this) << name() << " received: " << value << endl;
  31. }
  32. });
  33. }
  34. private:
  35. string _name;
  36. };
  37. }
  38.  
  39. int main()
  40. {
  41. using namespace caf;
  42.  
  43. actor_system_config cfg;
  44. actor_system system{cfg};
  45. scoped_actor self{system};
  46.  
  47. group main_group = system.groups().anonymous();
  48.  
  49. actor adam = system.spawn_in_group<basic_actor>(main_group, "Adam");
  50. actor eve = system.spawn_in_group<basic_actor>(main_group, "Eve");
  51.  
  52. self->send(main_group,102);
  53. self->send(adam, 101);
  54.  
  55. return EXIT_SUCCESS;
  56. }
Add Comment
Please, Sign In to add comment