{"action":"created","issue":{"url":"https://api.github.com/repos/actor-framework/actor-framework/issues/141","labels_url":"https://api.github.com/repos/actor-framework/actor-framework/issues/141/labels{/name}","comments_url":"https://api.github.com/repos/actor-framework/actor-framework/issues/141/comments","events_url":"https://api.github.com/repos/actor-framework/actor-framework/issues/141/events","html_url":"https://github.com/actor-framework/actor-framework/issues/141","id":36858425,"number":141,"title":"Provide abstraction for pool/set of actors ","user":{"login":"mavam","id":53797,"avatar_url":"https://avatars.githubusercontent.com/u/53797?v=3","gravatar_id":"","url":"https://api.github.com/users/mavam","html_url":"https://github.com/mavam","followers_url":"https://api.github.com/users/mavam/followers","following_url":"https://api.github.com/users/mavam/following{/other_user}","gists_url":"https://api.github.com/users/mavam/gists{/gist_id}","starred_url":"https://api.github.com/users/mavam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mavam/subscriptions","organizations_url":"https://api.github.com/users/mavam/orgs","repos_url":"https://api.github.com/users/mavam/repos","events_url":"https://api.github.com/users/mavam/events{/privacy}","received_events_url":"https://api.github.com/users/mavam/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/actor-framework/actor-framework/labels/task","name":"task","color":"0b02e1"}],"state":"closed","locked":false,"assignee":{"login":"Neverlord","id":651128,"avatar_url":"https://avatars.githubusercontent.com/u/651128?v=3","gravatar_id":"","url":"https://api.github.com/users/Neverlord","html_url":"https://github.com/Neverlord","followers_url":"https://api.github.com/users/Neverlord/followers","following_url":"https://api.github.com/users/Neverlord/following{/other_user}","gists_url":"https://api.github.com/users/Neverlord/gists{/gist_id}","starred_url":"https://api.github.com/users/Neverlord/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Neverlord/subscriptions","organizations_url":"https://api.github.com/users/Neverlord/orgs","repos_url":"https://api.github.com/users/Neverlord/repos","events_url":"https://api.github.com/users/Neverlord/events{/privacy}","received_events_url":"https://api.github.com/users/Neverlord/received_events","type":"User","site_admin":false},"milestone":null,"comments":2,"created_at":"2014-07-01T02:56:01Z","updated_at":"2015-03-05T15:23:16Z","closed_at":"2015-03-05T15:23:16Z","body":"I scenario I face quite common is to maintain a group of actors. At first I always consider using the actual group class, but then quickly decide against it in favor of a `std::vector<actor>`. The reason is that I *(i)* want to manage group membership myself, as opposed the actor its memberships, and *(ii)* want to iterate over the members (or just determine the number of members) to drive a decision in the managing actor. \r\n\r\nSince an STL container of `actor` handles does not transparently act as an actor itself, there are many annoying explicit loops. Moreover, with an explicit container it is now necessary to monitor every actor and remove it from the container when it terminates. This is a lot of boilerplate which a libcppa primitive could nicely abstract away.\r\n\r\nThus, I suggest to introduce an actor \"bag\" abstraction: call it `pool` because it has thread pool semantics, or `client_set` to allude to the semantics of managing a group of actors. "},"comment":{"url":"https://api.github.com/repos/actor-framework/actor-framework/issues/comments/77382746","html_url":"https://github.com/actor-framework/actor-framework/issues/141#issuecomment-77382746","issue_url":"https://api.github.com/repos/actor-framework/actor-framework/issues/141","id":77382746,"user":{"login":"Neverlord","id":651128,"avatar_url":"https://avatars.githubusercontent.com/u/651128?v=3","gravatar_id":"","url":"https://api.github.com/users/Neverlord","html_url":"https://github.com/Neverlord","followers_url":"https://api.github.com/users/Neverlord/followers","following_url":"https://api.github.com/users/Neverlord/following{/other_user}","gists_url":"https://api.github.com/users/Neverlord/gists{/gist_id}","starred_url":"https://api.github.com/users/Neverlord/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Neverlord/subscriptions","organizations_url":"https://api.github.com/users/Neverlord/orgs","repos_url":"https://api.github.com/users/Neverlord/repos","events_url":"https://api.github.com/users/Neverlord/events{/privacy}","received_events_url":"https://api.github.com/users/Neverlord/received_events","type":"User","site_admin":false},"created_at":"2015-03-05T15:23:15Z","updated_at":"2015-03-05T15:23:15Z","body":"Closed via f42f143eca801fdf3a198a66a31f9f0d06fb97fc."}}