{"action":"created","comment":{"url":"https://api.github.com/repos/spatialos/UnityGDK/pulls/comments/210175945","pull_request_review_id":146335800,"id":210175945,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMDE3NTk0NQ==","diff_hunk":"@@ -13,18 +14,22 @@ public abstract class CustomSpatialOSSendSystem<T> : ComponentSystem where T : I\n \n         private SpatialOSSendSystem spatialOSSendSystem;\n \n-        protected WorkerBase worker;\n+        public struct WorkerData\n+        {\n+            public readonly int Length;\n+            [ReadOnly] public SharedComponentDataArray<WorkerConfig> WorkerConfigs;\n+        }\n+\n+        [Inject] protected WorkerData WorkerConfigData;\n \n         protected override void OnCreateManager(int capacity)\n         {\n             base.OnCreateManager(capacity);\n \n-            worker = WorkerRegistry.GetWorkerForWorld(World);\n-\n             spatialOSSendSystem = World.GetOrCreateManager<SpatialOSSendSystem>();\n             if (!spatialOSSendSystem.TryRegisterCustomReplicationSystem(typeof(T)))\n             {\n-                worker.LogDispatcher.HandleLog(LogType.Error, new LogEvent(CustomReplicationSystemAlreadyExists)\n+                new LoggingDispatcher().HandleLog(LogType.Error, new LogEvent(CustomReplicationSystemAlreadyExists)","path":"workers/unity/Packages/com.improbable.gdk.core/Systems/CustomSpatialOSSendSystem.cs","position":28,"original_position":28,"commit_id":"ab7d156e49284598cfe08be4034840fee052aefa","original_commit_id":"4e46dba21ed3463c7feb7f70b549af3085ebf74b","user":{"login":"jessicafalk","id":31853332,"node_id":"MDQ6VXNlcjMxODUzMzMy","avatar_url":"https://avatars3.githubusercontent.com/u/31853332?v=4","gravatar_id":"","url":"https://api.github.com/users/jessicafalk","html_url":"https://github.com/jessicafalk","followers_url":"https://api.github.com/users/jessicafalk/followers","following_url":"https://api.github.com/users/jessicafalk/following{/other_user}","gists_url":"https://api.github.com/users/jessicafalk/gists{/gist_id}","starred_url":"https://api.github.com/users/jessicafalk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jessicafalk/subscriptions","organizations_url":"https://api.github.com/users/jessicafalk/orgs","repos_url":"https://api.github.com/users/jessicafalk/repos","events_url":"https://api.github.com/users/jessicafalk/events{/privacy}","received_events_url":"https://api.github.com/users/jessicafalk/received_events","type":"User","site_admin":false},"body":"one idea that came up in between would be to let the systems own the dispatcher instead of the worker as this is more aligned to how logging dispatchers in other projects. However, in this case it is actually possible (after realizing that you actually have access to the injected groups from the very start) and I'll change that","created_at":"2018-08-15T05:47:17Z","updated_at":"2018-08-15T05:47:17Z","html_url":"https://github.com/spatialos/UnityGDK/pull/214#discussion_r210175945","pull_request_url":"https://api.github.com/repos/spatialos/UnityGDK/pulls/214","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/spatialos/UnityGDK/pulls/comments/210175945"},"html":{"href":"https://github.com/spatialos/UnityGDK/pull/214#discussion_r210175945"},"pull_request":{"href":"https://api.github.com/repos/spatialos/UnityGDK/pulls/214"}},"in_reply_to_id":210122656},"pull_request":{"url":"https://api.github.com/repos/spatialos/UnityGDK/pulls/214","id":208406352,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA4NDA2MzUy","html_url":"https://github.com/spatialos/UnityGDK/pull/214","diff_url":"https://github.com/spatialos/UnityGDK/pull/214.diff","patch_url":"https://github.com/spatialos/UnityGDK/pull/214.patch","issue_url":"https://api.github.com/repos/spatialos/UnityGDK/issues/214","number":214,"state":"open","locked":false,"title":"New Worker Abstraction (V2)","user":{"login":"jessicafalk","id":31853332,"node_id":"MDQ6VXNlcjMxODUzMzMy","avatar_url":"https://avatars3.githubusercontent.com/u/31853332?v=4","gravatar_id":"","url":"https://api.github.com/users/jessicafalk","html_url":"https://github.com/jessicafalk","followers_url":"https://api.github.com/users/jessicafalk/followers","following_url":"https://api.github.com/users/jessicafalk/following{/other_user}","gists_url":"https://api.github.com/users/jessicafalk/gists{/gist_id}","starred_url":"https://api.github.com/users/jessicafalk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jessicafalk/subscriptions","organizations_url":"https://api.github.com/users/jessicafalk/orgs","repos_url":"https://api.github.com/users/jessicafalk/repos","events_url":"https://api.github.com/users/jessicafalk/events{/privacy}","received_events_url":"https://api.github.com/users/jessicafalk/received_events","type":"User","site_admin":false},"body":"**Contributions**: We are not currently taking public contributions - see our [contributions](CONTRIBUTING.md) policy. However, we are accepting issues and we do want your [feedback](../README.md#give-us-feedback).\r\n\r\n-------\r\n\r\n#### Description\r\nsecond take on a new worker abstraction. Instead of putting wrappers all around it, we remove absolutely everything that is not necessary.\r\nThe worker is now a simple class storing some data regarding connection, origin, .. etc, which makes it possible to use it either in monobehaviors or in systems (using the `WorkerConfig`component)\r\nIt is tighly coupled to the connection i.e. we connect, when the worker is created, and upon disposing the worker, we will disconnect.\r\n\r\nRemoved loads of things\r\nmoved the translation unit stuff into its own file to make it easier to delete everything later (instead of moving it into the worker which was the initial plan)\r\n\r\nThis PR is huge: reading it in commit order should make your life a lot easier\r\n\r\n#### Tests\r\nran it locally. it worked ™️\r\n\r\n#### Documentation\r\nwill come in the next pr\r\n\r\n#### Primary reviewers\r\n@jamiebrynes7 @samiwh ","created_at":"2018-08-14T20:49:54Z","updated_at":"2018-08-15T05:47:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d8c89a9b6b43232740e17166107c473ae7f36ac8","assignee":null,"assignees":[],"requested_reviewers":[{"login":"samiwh","id":14006669,"node_id":"MDQ6VXNlcjE0MDA2NjY5","avatar_url":"https://avatars0.githubusercontent.com/u/14006669?v=4","gravatar_id":"","url":"https://api.github.com/users/samiwh","html_url":"https://github.com/samiwh","followers_url":"https://api.github.com/users/samiwh/followers","following_url":"https://api.github.com/users/samiwh/following{/other_user}","gists_url":"https://api.github.com/users/samiwh/gists{/gist_id}","starred_url":"https://api.github.com/users/samiwh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/samiwh/subscriptions","organizations_url":"https://api.github.com/users/samiwh/orgs","repos_url":"https://api.github.com/users/samiwh/repos","events_url":"https://api.github.com/users/samiwh/events{/privacy}","received_events_url":"https://api.github.com/users/samiwh/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":1002053376,"node_id":"MDU6TGFiZWwxMDAyMDUzMzc2","url":"https://api.github.com/repos/spatialos/UnityGDK/labels/size/XXL","name":"size/XXL","color":"ededed","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/spatialos/UnityGDK/pulls/214/commits","review_comments_url":"https://api.github.com/repos/spatialos/UnityGDK/pulls/214/comments","review_comment_url":"https://api.github.com/repos/spatialos/UnityGDK/pulls/comments{/number}","comments_url":"https://api.github.com/repos/spatialos/UnityGDK/issues/214/comments","statuses_url":"https://api.github.com/repos/spatialos/UnityGDK/statuses/ab7d156e49284598cfe08be4034840fee052aefa","head":{"label":"spatialos:feature/clean-up-worker-take-2","ref":"feature/clean-up-worker-take-2","sha":"ab7d156e49284598cfe08be4034840fee052aefa","user":{"login":"spatialos","id":23554165,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzNTU0MTY1","avatar_url":"https://avatars2.githubusercontent.com/u/23554165?v=4","gravatar_id":"","url":"https://api.github.com/users/spatialos","html_url":"https://github.com/spatialos","followers_url":"https://api.github.com/users/spatialos/followers","following_url":"https://api.github.com/users/spatialos/following{/other_user}","gists_url":"https://api.github.com/users/spatialos/gists{/gist_id}","starred_url":"https://api.github.com/users/spatialos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spatialos/subscriptions","organizations_url":"https://api.github.com/users/spatialos/orgs","repos_url":"https://api.github.com/users/spatialos/repos","events_url":"https://api.github.com/users/spatialos/events{/privacy}","received_events_url":"https://api.github.com/users/spatialos/received_events","type":"Organization","site_admin":false},"repo":{"id":137235993,"node_id":"MDEwOlJlcG9zaXRvcnkxMzcyMzU5OTM=","name":"UnityGDK","full_name":"spatialos/UnityGDK","owner":{"login":"spatialos","id":23554165,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzNTU0MTY1","avatar_url":"https://avatars2.githubusercontent.com/u/23554165?v=4","gravatar_id":"","url":"https://api.github.com/users/spatialos","html_url":"https://github.com/spatialos","followers_url":"https://api.github.com/users/spatialos/followers","following_url":"https://api.github.com/users/spatialos/following{/other_user}","gists_url":"https://api.github.com/users/spatialos/gists{/gist_id}","starred_url":"https://api.github.com/users/spatialos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spatialos/subscriptions","organizations_url":"https://api.github.com/users/spatialos/orgs","repos_url":"https://api.github.com/users/spatialos/repos","events_url":"https://api.github.com/users/spatialos/events{/privacy}","received_events_url":"https://api.github.com/users/spatialos/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/spatialos/UnityGDK","description":"Unity GDK","fork":false,"url":"https://api.github.com/repos/spatialos/UnityGDK","forks_url":"https://api.github.com/repos/spatialos/UnityGDK/forks","keys_url":"https://api.github.com/repos/spatialos/UnityGDK/keys{/key_id}","collaborators_url":"https://api.github.com/repos/spatialos/UnityGDK/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/spatialos/UnityGDK/teams","hooks_url":"https://api.github.com/repos/spatialos/UnityGDK/hooks","issue_events_url":"https://api.github.com/repos/spatialos/UnityGDK/issues/events{/number}","events_url":"https://api.github.com/repos/spatialos/UnityGDK/events","assignees_url":"https://api.github.com/repos/spatialos/UnityGDK/assignees{/user}","branches_url":"https://api.github.com/repos/spatialos/UnityGDK/branches{/branch}","tags_url":"https://api.github.com/repos/spatialos/UnityGDK/tags","blobs_url":"https://api.github.com/repos/spatialos/UnityGDK/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/spatialos/UnityGDK/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/spatialos/UnityGDK/git/refs{/sha}","trees_url":"https://api.github.com/repos/spatialos/UnityGDK/git/trees{/sha}","statuses_url":"https://api.github.com/repos/spatialos/UnityGDK/statuses/{sha}","languages_url":"https://api.github.com/repos/spatialos/UnityGDK/languages","stargazers_url":"https://api.github.com/repos/spatialos/UnityGDK/stargazers","contributors_url":"https://api.github.com/repos/spatialos/UnityGDK/contributors","subscribers_url":"https://api.github.com/repos/spatialos/UnityGDK/subscribers","subscription_url":"https://api.github.com/repos/spatialos/UnityGDK/subscription","commits_url":"https://api.github.com/repos/spatialos/UnityGDK/commits{/sha}","git_commits_url":"https://api.github.com/repos/spatialos/UnityGDK/git/commits{/sha}","comments_url":"https://api.github.com/repos/spatialos/UnityGDK/comments{/number}","issue_comment_url":"https://api.github.com/repos/spatialos/UnityGDK/issues/comments{/number}","contents_url":"https://api.github.com/repos/spatialos/UnityGDK/contents/{+path}","compare_url":"https://api.github.com/repos/spatialos/UnityGDK/compare/{base}...{head}","merges_url":"https://api.github.com/repos/spatialos/UnityGDK/merges","archive_url":"https://api.github.com/repos/spatialos/UnityGDK/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/spatialos/UnityGDK/downloads","issues_url":"https://api.github.com/repos/spatialos/UnityGDK/issues{/number}","pulls_url":"https://api.github.com/repos/spatialos/UnityGDK/pulls{/number}","milestones_url":"https://api.github.com/repos/spatialos/UnityGDK/milestones{/number}","notifications_url":"https://api.github.com/repos/spatialos/UnityGDK/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/spatialos/UnityGDK/labels{/name}","releases_url":"https://api.github.com/repos/spatialos/UnityGDK/releases{/id}","deployments_url":"https://api.github.com/repos/spatialos/UnityGDK/deployments","created_at":"2018-06-13T15:37:54Z","updated_at":"2018-08-14T08:12:02Z","pushed_at":"2018-08-15T05:44:20Z","git_url":"git://github.com/spatialos/UnityGDK.git","ssh_url":"git@github.com:spatialos/UnityGDK.git","clone_url":"https://github.com/spatialos/UnityGDK.git","svn_url":"https://github.com/spatialos/UnityGDK","homepage":null,"size":119358,"stargazers_count":76,"watchers_count":76,"language":"C#","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":14,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":4,"open_issues":14,"watchers":76,"default_branch":"master"}},"base":{"label":"spatialos:experimental/worker-abstraction","ref":"experimental/worker-abstraction","sha":"c9dcadf6c9e20cf3469b02f992e91a7bd4b7f1e6","user":{"login":"spatialos","id":23554165,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzNTU0MTY1","avatar_url":"https://avatars2.githubusercontent.com/u/23554165?v=4","gravatar_id":"","url":"https://api.github.com/users/spatialos","html_url":"https://github.com/spatialos","followers_url":"https://api.github.com/users/spatialos/followers","following_url":"https://api.github.com/users/spatialos/following{/other_user}","gists_url":"https://api.github.com/users/spatialos/gists{/gist_id}","starred_url":"https://api.github.com/users/spatialos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spatialos/subscriptions","organizations_url":"https://api.github.com/users/spatialos/orgs","repos_url":"https://api.github.com/users/spatialos/repos","events_url":"https://api.github.com/users/spatialos/events{/privacy}","received_events_url":"https://api.github.com/users/spatialos/received_events","type":"Organization","site_admin":false},"repo":{"id":137235993,"node_id":"MDEwOlJlcG9zaXRvcnkxMzcyMzU5OTM=","name":"UnityGDK","full_name":"spatialos/UnityGDK","owner":{"login":"spatialos","id":23554165,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzNTU0MTY1","avatar_url":"https://avatars2.githubusercontent.com/u/23554165?v=4","gravatar_id":"","url":"https://api.github.com/users/spatialos","html_url":"https://github.com/spatialos","followers_url":"https://api.github.com/users/spatialos/followers","following_url":"https://api.github.com/users/spatialos/following{/other_user}","gists_url":"https://api.github.com/users/spatialos/gists{/gist_id}","starred_url":"https://api.github.com/users/spatialos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spatialos/subscriptions","organizations_url":"https://api.github.com/users/spatialos/orgs","repos_url":"https://api.github.com/users/spatialos/repos","events_url":"https://api.github.com/users/spatialos/events{/privacy}","received_events_url":"https://api.github.com/users/spatialos/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/spatialos/UnityGDK","description":"Unity GDK","fork":false,"url":"https://api.github.com/repos/spatialos/UnityGDK","forks_url":"https://api.github.com/repos/spatialos/UnityGDK/forks","keys_url":"https://api.github.com/repos/spatialos/UnityGDK/keys{/key_id}","collaborators_url":"https://api.github.com/repos/spatialos/UnityGDK/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/spatialos/UnityGDK/teams","hooks_url":"https://api.github.com/repos/spatialos/UnityGDK/hooks","issue_events_url":"https://api.github.com/repos/spatialos/UnityGDK/issues/events{/number}","events_url":"https://api.github.com/repos/spatialos/UnityGDK/events","assignees_url":"https://api.github.com/repos/spatialos/UnityGDK/assignees{/user}","branches_url":"https://api.github.com/repos/spatialos/UnityGDK/branches{/branch}","tags_url":"https://api.github.com/repos/spatialos/UnityGDK/tags","blobs_url":"https://api.github.com/repos/spatialos/UnityGDK/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/spatialos/UnityGDK/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/spatialos/UnityGDK/git/refs{/sha}","trees_url":"https://api.github.com/repos/spatialos/UnityGDK/git/trees{/sha}","statuses_url":"https://api.github.com/repos/spatialos/UnityGDK/statuses/{sha}","languages_url":"https://api.github.com/repos/spatialos/UnityGDK/languages","stargazers_url":"https://api.github.com/repos/spatialos/UnityGDK/stargazers","contributors_url":"https://api.github.com/repos/spatialos/UnityGDK/contributors","subscribers_url":"https://api.github.com/repos/spatialos/UnityGDK/subscribers","subscription_url":"https://api.github.com/repos/spatialos/UnityGDK/subscription","commits_url":"https://api.github.com/repos/spatialos/UnityGDK/commits{/sha}","git_commits_url":"https://api.github.com/repos/spatialos/UnityGDK/git/commits{/sha}","comments_url":"https://api.github.com/repos/spatialos/UnityGDK/comments{/number}","issue_comment_url":"https://api.github.com/repos/spatialos/UnityGDK/issues/comments{/number}","contents_url":"https://api.github.com/repos/spatialos/UnityGDK/contents/{+path}","compare_url":"https://api.github.com/repos/spatialos/UnityGDK/compare/{base}...{head}","merges_url":"https://api.github.com/repos/spatialos/UnityGDK/merges","archive_url":"https://api.github.com/repos/spatialos/UnityGDK/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/spatialos/UnityGDK/downloads","issues_url":"https://api.github.com/repos/spatialos/UnityGDK/issues{/number}","pulls_url":"https://api.github.com/repos/spatialos/UnityGDK/pulls{/number}","milestones_url":"https://api.github.com/repos/spatialos/UnityGDK/milestones{/number}","notifications_url":"https://api.github.com/repos/spatialos/UnityGDK/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/spatialos/UnityGDK/labels{/name}","releases_url":"https://api.github.com/repos/spatialos/UnityGDK/releases{/id}","deployments_url":"https://api.github.com/repos/spatialos/UnityGDK/deployments","created_at":"2018-06-13T15:37:54Z","updated_at":"2018-08-14T08:12:02Z","pushed_at":"2018-08-15T05:44:20Z","git_url":"git://github.com/spatialos/UnityGDK.git","ssh_url":"git@github.com:spatialos/UnityGDK.git","clone_url":"https://github.com/spatialos/UnityGDK.git","svn_url":"https://github.com/spatialos/UnityGDK","homepage":null,"size":119358,"stargazers_count":76,"watchers_count":76,"language":"C#","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":14,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":4,"open_issues":14,"watchers":76,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/spatialos/UnityGDK/pulls/214"},"html":{"href":"https://github.com/spatialos/UnityGDK/pull/214"},"issue":{"href":"https://api.github.com/repos/spatialos/UnityGDK/issues/214"},"comments":{"href":"https://api.github.com/repos/spatialos/UnityGDK/issues/214/comments"},"review_comments":{"href":"https://api.github.com/repos/spatialos/UnityGDK/pulls/214/comments"},"review_comment":{"href":"https://api.github.com/repos/spatialos/UnityGDK/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/spatialos/UnityGDK/pulls/214/commits"},"statuses":{"href":"https://api.github.com/repos/spatialos/UnityGDK/statuses/ab7d156e49284598cfe08be4034840fee052aefa"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"jessicafalk"}}