{"action":"created","comment":{"url":"https://api.github.com/repos/fxbox/foxbox/pulls/comments/56553538","id":56553538,"diff_hunk":"@@ -95,16 +96,23 @@ impl FoxBox {\n impl Controller for FoxBox {\n \n     fn run(&mut self, shutdown_flag: &AtomicBool) {\n+\n         debug!(\"Starting controller\");\n         let mut event_loop = mio::EventLoop::new().unwrap();\n \n         {\n             Arc::get_mut(&mut self.upnp).unwrap().start().unwrap();\n         }\n-        HttpServer::new(self.clone()).start();\n-        WsServer::start(self.clone(), self.hostname.to_owned(), self.ws_port);\n+\n+        // Create the taxonomy based AdapterManager\n+        let taxo_manager = AdapterManager2::new();\n+\n         let mut adapter_manager = AdapterManager::new(self.clone());\n-        adapter_manager.start();\n+        adapter_manager.start(&taxo_manager);\n+\n+        HttpServer::new(self.clone()).start(taxo_manager);\n+        WsServer::start(self.clone(), self.hostname.to_owned(), self.ws_port);","path":"src/controller.rs","position":30,"original_position":30,"commit_id":"5c76f4edf70bbd4d4f89ea14e8b215b7d9a2941a","original_commit_id":"5c76f4edf70bbd4d4f89ea14e8b215b7d9a2941a","user":{"login":"fabricedesre","id":984767,"avatar_url":"https://avatars.githubusercontent.com/u/984767?v=3","gravatar_id":"","url":"https://api.github.com/users/fabricedesre","html_url":"https://github.com/fabricedesre","followers_url":"https://api.github.com/users/fabricedesre/followers","following_url":"https://api.github.com/users/fabricedesre/following{/other_user}","gists_url":"https://api.github.com/users/fabricedesre/gists{/gist_id}","starred_url":"https://api.github.com/users/fabricedesre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fabricedesre/subscriptions","organizations_url":"https://api.github.com/users/fabricedesre/orgs","repos_url":"https://api.github.com/users/fabricedesre/repos","events_url":"https://api.github.com/users/fabricedesre/events{/privacy}","received_events_url":"https://api.github.com/users/fabricedesre/received_events","type":"User","site_admin":false},"body":"Yes, and it will use register_channel_watch().","created_at":"2016-03-17T18:21:34Z","updated_at":"2016-03-17T18:21:34Z","html_url":"https://github.com/fxbox/foxbox/pull/196#discussion_r56553538","pull_request_url":"https://api.github.com/repos/fxbox/foxbox/pulls/196","_links":{"self":{"href":"https://api.github.com/repos/fxbox/foxbox/pulls/comments/56553538"},"html":{"href":"https://github.com/fxbox/foxbox/pull/196#discussion_r56553538"},"pull_request":{"href":"https://api.github.com/repos/fxbox/foxbox/pulls/196"}}},"pull_request":{"url":"https://api.github.com/repos/fxbox/foxbox/pulls/196","id":62626525,"html_url":"https://github.com/fxbox/foxbox/pull/196","diff_url":"https://github.com/fxbox/foxbox/pull/196.diff","patch_url":"https://github.com/fxbox/foxbox/pull/196.patch","issue_url":"https://api.github.com/repos/fxbox/foxbox/issues/196","number":196,"state":"open","locked":false,"title":"[Wip] taxonomy router","user":{"login":"fabricedesre","id":984767,"avatar_url":"https://avatars.githubusercontent.com/u/984767?v=3","gravatar_id":"","url":"https://api.github.com/users/fabricedesre","html_url":"https://github.com/fabricedesre","followers_url":"https://api.github.com/users/fabricedesre/followers","following_url":"https://api.github.com/users/fabricedesre/following{/other_user}","gists_url":"https://api.github.com/users/fabricedesre/gists{/gist_id}","starred_url":"https://api.github.com/users/fabricedesre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fabricedesre/subscriptions","organizations_url":"https://api.github.com/users/fabricedesre/orgs","repos_url":"https://api.github.com/users/fabricedesre/repos","events_url":"https://api.github.com/users/fabricedesre/events{/privacy}","received_events_url":"https://api.github.com/users/fabricedesre/received_events","type":"User","site_admin":false},"body":"@Yoric this is a (non working) initial pass at exposing the taxonomy on http.\r\n\r\nSurprise surprise, we have threading issues. I had to comment the |router.get(...)| part so that clippy let me commit that, but what happens is that:\r\n- API should be Send because the http handlers are called on another thread by the http layer.\r\n- Making API Send lead to a snowball of changes in backend.rs, at least using tons of `Arc<Mutex<X>>` instead of `Rc<RefCell<X>>`.\r\n\r\nAt this point I'm not sure whether the way to go is to make API be Send, or refactor that differently, eg. wrapping the API with channels.","created_at":"2016-03-12T01:42:58Z","updated_at":"2016-03-17T18:21:34Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9d2f3dd3ab3287e74ccb1dc53de3ea10a474a34e","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/fxbox/foxbox/pulls/196/commits","review_comments_url":"https://api.github.com/repos/fxbox/foxbox/pulls/196/comments","review_comment_url":"https://api.github.com/repos/fxbox/foxbox/pulls/comments{/number}","comments_url":"https://api.github.com/repos/fxbox/foxbox/issues/196/comments","statuses_url":"https://api.github.com/repos/fxbox/foxbox/statuses/5c76f4edf70bbd4d4f89ea14e8b215b7d9a2941a","head":{"label":"fabricedesre:taxo2http","ref":"taxo2http","sha":"5c76f4edf70bbd4d4f89ea14e8b215b7d9a2941a","user":{"login":"fabricedesre","id":984767,"avatar_url":"https://avatars.githubusercontent.com/u/984767?v=3","gravatar_id":"","url":"https://api.github.com/users/fabricedesre","html_url":"https://github.com/fabricedesre","followers_url":"https://api.github.com/users/fabricedesre/followers","following_url":"https://api.github.com/users/fabricedesre/following{/other_user}","gists_url":"https://api.github.com/users/fabricedesre/gists{/gist_id}","starred_url":"https://api.github.com/users/fabricedesre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fabricedesre/subscriptions","organizations_url":"https://api.github.com/users/fabricedesre/orgs","repos_url":"https://api.github.com/users/fabricedesre/repos","events_url":"https://api.github.com/users/fabricedesre/events{/privacy}","received_events_url":"https://api.github.com/users/fabricedesre/received_events","type":"User","site_admin":false},"repo":{"id":51208159,"name":"foxbox","full_name":"fabricedesre/foxbox","owner":{"login":"fabricedesre","id":984767,"avatar_url":"https://avatars.githubusercontent.com/u/984767?v=3","gravatar_id":"","url":"https://api.github.com/users/fabricedesre","html_url":"https://github.com/fabricedesre","followers_url":"https://api.github.com/users/fabricedesre/followers","following_url":"https://api.github.com/users/fabricedesre/following{/other_user}","gists_url":"https://api.github.com/users/fabricedesre/gists{/gist_id}","starred_url":"https://api.github.com/users/fabricedesre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fabricedesre/subscriptions","organizations_url":"https://api.github.com/users/fabricedesre/orgs","repos_url":"https://api.github.com/users/fabricedesre/repos","events_url":"https://api.github.com/users/fabricedesre/events{/privacy}","received_events_url":"https://api.github.com/users/fabricedesre/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/fabricedesre/foxbox","description":"The FoxBox daemon","fork":true,"url":"https://api.github.com/repos/fabricedesre/foxbox","forks_url":"https://api.github.com/repos/fabricedesre/foxbox/forks","keys_url":"https://api.github.com/repos/fabricedesre/foxbox/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fabricedesre/foxbox/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fabricedesre/foxbox/teams","hooks_url":"https://api.github.com/repos/fabricedesre/foxbox/hooks","issue_events_url":"https://api.github.com/repos/fabricedesre/foxbox/issues/events{/number}","events_url":"https://api.github.com/repos/fabricedesre/foxbox/events","assignees_url":"https://api.github.com/repos/fabricedesre/foxbox/assignees{/user}","branches_url":"https://api.github.com/repos/fabricedesre/foxbox/branches{/branch}","tags_url":"https://api.github.com/repos/fabricedesre/foxbox/tags","blobs_url":"https://api.github.com/repos/fabricedesre/foxbox/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fabricedesre/foxbox/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fabricedesre/foxbox/git/refs{/sha}","trees_url":"https://api.github.com/repos/fabricedesre/foxbox/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fabricedesre/foxbox/statuses/{sha}","languages_url":"https://api.github.com/repos/fabricedesre/foxbox/languages","stargazers_url":"https://api.github.com/repos/fabricedesre/foxbox/stargazers","contributors_url":"https://api.github.com/repos/fabricedesre/foxbox/contributors","subscribers_url":"https://api.github.com/repos/fabricedesre/foxbox/subscribers","subscription_url":"https://api.github.com/repos/fabricedesre/foxbox/subscription","commits_url":"https://api.github.com/repos/fabricedesre/foxbox/commits{/sha}","git_commits_url":"https://api.github.com/repos/fabricedesre/foxbox/git/commits{/sha}","comments_url":"https://api.github.com/repos/fabricedesre/foxbox/comments{/number}","issue_comment_url":"https://api.github.com/repos/fabricedesre/foxbox/issues/comments{/number}","contents_url":"https://api.github.com/repos/fabricedesre/foxbox/contents/{+path}","compare_url":"https://api.github.com/repos/fabricedesre/foxbox/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fabricedesre/foxbox/merges","archive_url":"https://api.github.com/repos/fabricedesre/foxbox/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fabricedesre/foxbox/downloads","issues_url":"https://api.github.com/repos/fabricedesre/foxbox/issues{/number}","pulls_url":"https://api.github.com/repos/fabricedesre/foxbox/pulls{/number}","milestones_url":"https://api.github.com/repos/fabricedesre/foxbox/milestones{/number}","notifications_url":"https://api.github.com/repos/fabricedesre/foxbox/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fabricedesre/foxbox/labels{/name}","releases_url":"https://api.github.com/repos/fabricedesre/foxbox/releases{/id}","deployments_url":"https://api.github.com/repos/fabricedesre/foxbox/deployments","created_at":"2016-02-06T15:38:49Z","updated_at":"2016-02-06T15:38:51Z","pushed_at":"2016-03-17T00:51:15Z","git_url":"git://github.com/fabricedesre/foxbox.git","ssh_url":"git@github.com:fabricedesre/foxbox.git","clone_url":"https://github.com/fabricedesre/foxbox.git","svn_url":"https://github.com/fabricedesre/foxbox","homepage":null,"size":395,"stargazers_count":0,"watchers_count":0,"language":"Rust","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"fxbox:master","ref":"master","sha":"d1f8c765856b00c3547e614745f354cd8e87debe","user":{"login":"fxbox","id":17052474,"avatar_url":"https://avatars.githubusercontent.com/u/17052474?v=3","gravatar_id":"","url":"https://api.github.com/users/fxbox","html_url":"https://github.com/fxbox","followers_url":"https://api.github.com/users/fxbox/followers","following_url":"https://api.github.com/users/fxbox/following{/other_user}","gists_url":"https://api.github.com/users/fxbox/gists{/gist_id}","starred_url":"https://api.github.com/users/fxbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fxbox/subscriptions","organizations_url":"https://api.github.com/users/fxbox/orgs","repos_url":"https://api.github.com/users/fxbox/repos","events_url":"https://api.github.com/users/fxbox/events{/privacy}","received_events_url":"https://api.github.com/users/fxbox/received_events","type":"Organization","site_admin":false},"repo":{"id":50702140,"name":"foxbox","full_name":"fxbox/foxbox","owner":{"login":"fxbox","id":17052474,"avatar_url":"https://avatars.githubusercontent.com/u/17052474?v=3","gravatar_id":"","url":"https://api.github.com/users/fxbox","html_url":"https://github.com/fxbox","followers_url":"https://api.github.com/users/fxbox/followers","following_url":"https://api.github.com/users/fxbox/following{/other_user}","gists_url":"https://api.github.com/users/fxbox/gists{/gist_id}","starred_url":"https://api.github.com/users/fxbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fxbox/subscriptions","organizations_url":"https://api.github.com/users/fxbox/orgs","repos_url":"https://api.github.com/users/fxbox/repos","events_url":"https://api.github.com/users/fxbox/events{/privacy}","received_events_url":"https://api.github.com/users/fxbox/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/fxbox/foxbox","description":"The FoxBox daemon","fork":false,"url":"https://api.github.com/repos/fxbox/foxbox","forks_url":"https://api.github.com/repos/fxbox/foxbox/forks","keys_url":"https://api.github.com/repos/fxbox/foxbox/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fxbox/foxbox/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fxbox/foxbox/teams","hooks_url":"https://api.github.com/repos/fxbox/foxbox/hooks","issue_events_url":"https://api.github.com/repos/fxbox/foxbox/issues/events{/number}","events_url":"https://api.github.com/repos/fxbox/foxbox/events","assignees_url":"https://api.github.com/repos/fxbox/foxbox/assignees{/user}","branches_url":"https://api.github.com/repos/fxbox/foxbox/branches{/branch}","tags_url":"https://api.github.com/repos/fxbox/foxbox/tags","blobs_url":"https://api.github.com/repos/fxbox/foxbox/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fxbox/foxbox/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fxbox/foxbox/git/refs{/sha}","trees_url":"https://api.github.com/repos/fxbox/foxbox/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fxbox/foxbox/statuses/{sha}","languages_url":"https://api.github.com/repos/fxbox/foxbox/languages","stargazers_url":"https://api.github.com/repos/fxbox/foxbox/stargazers","contributors_url":"https://api.github.com/repos/fxbox/foxbox/contributors","subscribers_url":"https://api.github.com/repos/fxbox/foxbox/subscribers","subscription_url":"https://api.github.com/repos/fxbox/foxbox/subscription","commits_url":"https://api.github.com/repos/fxbox/foxbox/commits{/sha}","git_commits_url":"https://api.github.com/repos/fxbox/foxbox/git/commits{/sha}","comments_url":"https://api.github.com/repos/fxbox/foxbox/comments{/number}","issue_comment_url":"https://api.github.com/repos/fxbox/foxbox/issues/comments{/number}","contents_url":"https://api.github.com/repos/fxbox/foxbox/contents/{+path}","compare_url":"https://api.github.com/repos/fxbox/foxbox/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fxbox/foxbox/merges","archive_url":"https://api.github.com/repos/fxbox/foxbox/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fxbox/foxbox/downloads","issues_url":"https://api.github.com/repos/fxbox/foxbox/issues{/number}","pulls_url":"https://api.github.com/repos/fxbox/foxbox/pulls{/number}","milestones_url":"https://api.github.com/repos/fxbox/foxbox/milestones{/number}","notifications_url":"https://api.github.com/repos/fxbox/foxbox/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fxbox/foxbox/labels{/name}","releases_url":"https://api.github.com/repos/fxbox/foxbox/releases{/id}","deployments_url":"https://api.github.com/repos/fxbox/foxbox/deployments","created_at":"2016-01-30T01:13:10Z","updated_at":"2016-03-08T04:40:11Z","pushed_at":"2016-03-17T17:47:49Z","git_url":"git://github.com/fxbox/foxbox.git","ssh_url":"git@github.com:fxbox/foxbox.git","clone_url":"https://github.com/fxbox/foxbox.git","svn_url":"https://github.com/fxbox/foxbox","homepage":null,"size":466,"stargazers_count":9,"watchers_count":9,"language":"Rust","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":28,"mirror_url":null,"open_issues_count":45,"forks":28,"open_issues":45,"watchers":9,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/fxbox/foxbox/pulls/196"},"html":{"href":"https://github.com/fxbox/foxbox/pull/196"},"issue":{"href":"https://api.github.com/repos/fxbox/foxbox/issues/196"},"comments":{"href":"https://api.github.com/repos/fxbox/foxbox/issues/196/comments"},"review_comments":{"href":"https://api.github.com/repos/fxbox/foxbox/pulls/196/comments"},"review_comment":{"href":"https://api.github.com/repos/fxbox/foxbox/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/fxbox/foxbox/pulls/196/commits"},"statuses":{"href":"https://api.github.com/repos/fxbox/foxbox/statuses/5c76f4edf70bbd4d4f89ea14e8b215b7d9a2941a"}}}}