{"action":"created","issue":{"url":"https://api.github.com/repos/mongodb/mongo-java-driver/issues/299","labels_url":"https://api.github.com/repos/mongodb/mongo-java-driver/issues/299/labels{/name}","comments_url":"https://api.github.com/repos/mongodb/mongo-java-driver/issues/299/comments","events_url":"https://api.github.com/repos/mongodb/mongo-java-driver/issues/299/events","html_url":"https://github.com/mongodb/mongo-java-driver/pull/299","id":63343321,"number":299,"title":"JAVA-1674: Simplified locking in InternalStreamConnection","user":{"login":"jyemin","id":1111546,"avatar_url":"https://avatars.githubusercontent.com/u/1111546?v=3","gravatar_id":"","url":"https://api.github.com/users/jyemin","html_url":"https://github.com/jyemin","followers_url":"https://api.github.com/users/jyemin/followers","following_url":"https://api.github.com/users/jyemin/following{/other_user}","gists_url":"https://api.github.com/users/jyemin/gists{/gist_id}","starred_url":"https://api.github.com/users/jyemin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jyemin/subscriptions","organizations_url":"https://api.github.com/users/jyemin/orgs","repos_url":"https://api.github.com/users/jyemin/repos","events_url":"https://api.github.com/users/jyemin/events{/privacy}","received_events_url":"https://api.github.com/users/jyemin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"rozza","id":420,"avatar_url":"https://avatars.githubusercontent.com/u/420?v=3","gravatar_id":"","url":"https://api.github.com/users/rozza","html_url":"https://github.com/rozza","followers_url":"https://api.github.com/users/rozza/followers","following_url":"https://api.github.com/users/rozza/following{/other_user}","gists_url":"https://api.github.com/users/rozza/gists{/gist_id}","starred_url":"https://api.github.com/users/rozza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rozza/subscriptions","organizations_url":"https://api.github.com/users/rozza/orgs","repos_url":"https://api.github.com/users/rozza/repos","events_url":"https://api.github.com/users/rozza/events{/privacy}","received_events_url":"https://api.github.com/users/rozza/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-03-21T01:38:19Z","updated_at":"2015-03-21T01:38:43Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mongodb/mongo-java-driver/pulls/299","html_url":"https://github.com/mongodb/mongo-java-driver/pull/299","diff_url":"https://github.com/mongodb/mongo-java-driver/pull/299.diff","patch_url":"https://github.com/mongodb/mongo-java-driver/pull/299.patch"},"body":"I took a walk this evening and came up with this design.  The basic insight is that we don't have to hold the reading lock while waiting for IO.  It's enough just to hold it while setting the state. \r\n\r\nMore comments in line.\r\n\r\n\r\nI think ths is making an assumptoin that an instance of this class will be used either synchronously or as"},"comment":{"url":"https://api.github.com/repos/mongodb/mongo-java-driver/issues/comments/84216580","html_url":"https://github.com/mongodb/mongo-java-driver/pull/299#issuecomment-84216580","issue_url":"https://api.github.com/repos/mongodb/mongo-java-driver/issues/299","id":84216580,"user":{"login":"jyemin","id":1111546,"avatar_url":"https://avatars.githubusercontent.com/u/1111546?v=3","gravatar_id":"","url":"https://api.github.com/users/jyemin","html_url":"https://github.com/jyemin","followers_url":"https://api.github.com/users/jyemin/followers","following_url":"https://api.github.com/users/jyemin/following{/other_user}","gists_url":"https://api.github.com/users/jyemin/gists{/gist_id}","starred_url":"https://api.github.com/users/jyemin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jyemin/subscriptions","organizations_url":"https://api.github.com/users/jyemin/orgs","repos_url":"https://api.github.com/users/jyemin/repos","events_url":"https://api.github.com/users/jyemin/events{/privacy}","received_events_url":"https://api.github.com/users/jyemin/received_events","type":"User","site_admin":false},"created_at":"2015-03-21T01:38:43Z","updated_at":"2015-03-21T01:38:43Z","body":"@craiggwilson fyi"}}