{"action":"created","comment":{"url":"https://api.github.com/repos/vbmithr/ocaml-websocket/pulls/comments/94068551","pull_request_review_id":14597889,"id":94068551,"diff_hunk":"@@ -37,11 +37,35 @@ module Connected_client = struct\n     ic: Request.IO.ic;\n     oc: Request.IO.oc;\n     http_request: Cohttp.Request.t;\n-    standard_frame_replies: bool;\n+    mutable standard_frame_replies: bool;\n+    read_frame: unit -> Frame.t Lwt.t;\n+    read_frame_std: unit -> Frame.t Lwt.t;\n+    send_frame: Frame.t -> unit Lwt.t;\n   }\n \n-  let create random_string http_request flow ic oc =\n-    let buffer = Buffer.create 128 in\n+  let create ?(buffer=Buffer.create 128) random_string http_request flow ic oc =\n+    let read_frame = make_read_frame ?random_string ~masked:false (ic, oc) in","path":"lib/websocket_lwt.ml","position":null,"original_position":14,"commit_id":"0d0da3fc897d33cdfb64ecba1d42e0f6ff24d643","original_commit_id":"0d0da3fc897d33cdfb64ecba1d42e0f6ff24d643","user":{"login":"copy","id":1816456,"avatar_url":"https://avatars.githubusercontent.com/u/1816456?v=3","gravatar_id":"","url":"https://api.github.com/users/copy","html_url":"https://github.com/copy","followers_url":"https://api.github.com/users/copy/followers","following_url":"https://api.github.com/users/copy/following{/other_user}","gists_url":"https://api.github.com/users/copy/gists{/gist_id}","starred_url":"https://api.github.com/users/copy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/copy/subscriptions","organizations_url":"https://api.github.com/users/copy/orgs","repos_url":"https://api.github.com/users/copy/repos","events_url":"https://api.github.com/users/copy/events{/privacy}","received_events_url":"https://api.github.com/users/copy/received_events","type":"User","site_admin":false},"body":"Here it would be incorrect to pass `buffer` to `make_read_frame`, since then the buffer would be shared between the reader and writer. Maybe the `buffer` argument to `create` should be renamed to `write_buffer` to make the distinction clear.","created_at":"2016-12-28T19:28:57Z","updated_at":"2016-12-28T19:29:50Z","html_url":"https://github.com/vbmithr/ocaml-websocket/pull/73#discussion_r94068551","pull_request_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/pulls/73","_links":{"self":{"href":"https://api.github.com/repos/vbmithr/ocaml-websocket/pulls/comments/94068551"},"html":{"href":"https://github.com/vbmithr/ocaml-websocket/pull/73#discussion_r94068551"},"pull_request":{"href":"https://api.github.com/repos/vbmithr/ocaml-websocket/pulls/73"}}},"pull_request":{"url":"https://api.github.com/repos/vbmithr/ocaml-websocket/pulls/73","id":99540484,"html_url":"https://github.com/vbmithr/ocaml-websocket/pull/73","diff_url":"https://github.com/vbmithr/ocaml-websocket/pull/73.diff","patch_url":"https://github.com/vbmithr/ocaml-websocket/pull/73.patch","issue_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/issues/73","number":73,"state":"open","locked":false,"title":"Ip refactored","user":{"login":"vbmithr","id":797581,"avatar_url":"https://avatars.githubusercontent.com/u/797581?v=3","gravatar_id":"","url":"https://api.github.com/users/vbmithr","html_url":"https://github.com/vbmithr","followers_url":"https://api.github.com/users/vbmithr/followers","following_url":"https://api.github.com/users/vbmithr/following{/other_user}","gists_url":"https://api.github.com/users/vbmithr/gists{/gist_id}","starred_url":"https://api.github.com/users/vbmithr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vbmithr/subscriptions","organizations_url":"https://api.github.com/users/vbmithr/orgs","repos_url":"https://api.github.com/users/vbmithr/repos","events_url":"https://api.github.com/users/vbmithr/events{/privacy}","received_events_url":"https://api.github.com/users/vbmithr/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-12-28T11:51:52Z","updated_at":"2016-12-28T19:29:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d484215ac381518e736655de6b210f6a35ca9edd","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/pulls/73/commits","review_comments_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/pulls/73/comments","review_comment_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/pulls/comments{/number}","comments_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/issues/73/comments","statuses_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/statuses/0d0da3fc897d33cdfb64ecba1d42e0f6ff24d643","head":{"label":"vbmithr:ip-refactored","ref":"ip-refactored","sha":"0d0da3fc897d33cdfb64ecba1d42e0f6ff24d643","user":{"login":"vbmithr","id":797581,"avatar_url":"https://avatars.githubusercontent.com/u/797581?v=3","gravatar_id":"","url":"https://api.github.com/users/vbmithr","html_url":"https://github.com/vbmithr","followers_url":"https://api.github.com/users/vbmithr/followers","following_url":"https://api.github.com/users/vbmithr/following{/other_user}","gists_url":"https://api.github.com/users/vbmithr/gists{/gist_id}","starred_url":"https://api.github.com/users/vbmithr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vbmithr/subscriptions","organizations_url":"https://api.github.com/users/vbmithr/orgs","repos_url":"https://api.github.com/users/vbmithr/repos","events_url":"https://api.github.com/users/vbmithr/events{/privacy}","received_events_url":"https://api.github.com/users/vbmithr/received_events","type":"User","site_admin":false},"repo":{"id":7005119,"name":"ocaml-websocket","full_name":"vbmithr/ocaml-websocket","owner":{"login":"vbmithr","id":797581,"avatar_url":"https://avatars.githubusercontent.com/u/797581?v=3","gravatar_id":"","url":"https://api.github.com/users/vbmithr","html_url":"https://github.com/vbmithr","followers_url":"https://api.github.com/users/vbmithr/followers","following_url":"https://api.github.com/users/vbmithr/following{/other_user}","gists_url":"https://api.github.com/users/vbmithr/gists{/gist_id}","starred_url":"https://api.github.com/users/vbmithr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vbmithr/subscriptions","organizations_url":"https://api.github.com/users/vbmithr/orgs","repos_url":"https://api.github.com/users/vbmithr/repos","events_url":"https://api.github.com/users/vbmithr/events{/privacy}","received_events_url":"https://api.github.com/users/vbmithr/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/vbmithr/ocaml-websocket","description":"Websocket library for Lwt","fork":false,"url":"https://api.github.com/repos/vbmithr/ocaml-websocket","forks_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/forks","keys_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/teams","hooks_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/hooks","issue_events_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/issues/events{/number}","events_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/events","assignees_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/assignees{/user}","branches_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/branches{/branch}","tags_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/tags","blobs_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/git/refs{/sha}","trees_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/statuses/{sha}","languages_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/languages","stargazers_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/stargazers","contributors_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/contributors","subscribers_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/subscribers","subscription_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/subscription","commits_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/commits{/sha}","git_commits_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/git/commits{/sha}","comments_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/comments{/number}","issue_comment_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/issues/comments{/number}","contents_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/contents/{+path}","compare_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/merges","archive_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/downloads","issues_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/issues{/number}","pulls_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/pulls{/number}","milestones_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/milestones{/number}","notifications_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/labels{/name}","releases_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/releases{/id}","deployments_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/deployments","created_at":"2012-12-04T18:55:31Z","updated_at":"2016-11-03T22:28:07Z","pushed_at":"2016-12-28T11:51:53Z","git_url":"git://github.com/vbmithr/ocaml-websocket.git","ssh_url":"git@github.com:vbmithr/ocaml-websocket.git","clone_url":"https://github.com/vbmithr/ocaml-websocket.git","svn_url":"https://github.com/vbmithr/ocaml-websocket","homepage":null,"size":369,"stargazers_count":52,"watchers_count":52,"language":"OCaml","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":18,"mirror_url":null,"open_issues_count":14,"forks":18,"open_issues":14,"watchers":52,"default_branch":"master"}},"base":{"label":"vbmithr:master","ref":"master","sha":"3945263f32d5425d8c1e0b901724d78202e750c1","user":{"login":"vbmithr","id":797581,"avatar_url":"https://avatars.githubusercontent.com/u/797581?v=3","gravatar_id":"","url":"https://api.github.com/users/vbmithr","html_url":"https://github.com/vbmithr","followers_url":"https://api.github.com/users/vbmithr/followers","following_url":"https://api.github.com/users/vbmithr/following{/other_user}","gists_url":"https://api.github.com/users/vbmithr/gists{/gist_id}","starred_url":"https://api.github.com/users/vbmithr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vbmithr/subscriptions","organizations_url":"https://api.github.com/users/vbmithr/orgs","repos_url":"https://api.github.com/users/vbmithr/repos","events_url":"https://api.github.com/users/vbmithr/events{/privacy}","received_events_url":"https://api.github.com/users/vbmithr/received_events","type":"User","site_admin":false},"repo":{"id":7005119,"name":"ocaml-websocket","full_name":"vbmithr/ocaml-websocket","owner":{"login":"vbmithr","id":797581,"avatar_url":"https://avatars.githubusercontent.com/u/797581?v=3","gravatar_id":"","url":"https://api.github.com/users/vbmithr","html_url":"https://github.com/vbmithr","followers_url":"https://api.github.com/users/vbmithr/followers","following_url":"https://api.github.com/users/vbmithr/following{/other_user}","gists_url":"https://api.github.com/users/vbmithr/gists{/gist_id}","starred_url":"https://api.github.com/users/vbmithr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vbmithr/subscriptions","organizations_url":"https://api.github.com/users/vbmithr/orgs","repos_url":"https://api.github.com/users/vbmithr/repos","events_url":"https://api.github.com/users/vbmithr/events{/privacy}","received_events_url":"https://api.github.com/users/vbmithr/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/vbmithr/ocaml-websocket","description":"Websocket library for Lwt","fork":false,"url":"https://api.github.com/repos/vbmithr/ocaml-websocket","forks_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/forks","keys_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/teams","hooks_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/hooks","issue_events_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/issues/events{/number}","events_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/events","assignees_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/assignees{/user}","branches_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/branches{/branch}","tags_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/tags","blobs_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/git/refs{/sha}","trees_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/statuses/{sha}","languages_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/languages","stargazers_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/stargazers","contributors_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/contributors","subscribers_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/subscribers","subscription_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/subscription","commits_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/commits{/sha}","git_commits_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/git/commits{/sha}","comments_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/comments{/number}","issue_comment_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/issues/comments{/number}","contents_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/contents/{+path}","compare_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/merges","archive_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/downloads","issues_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/issues{/number}","pulls_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/pulls{/number}","milestones_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/milestones{/number}","notifications_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/labels{/name}","releases_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/releases{/id}","deployments_url":"https://api.github.com/repos/vbmithr/ocaml-websocket/deployments","created_at":"2012-12-04T18:55:31Z","updated_at":"2016-11-03T22:28:07Z","pushed_at":"2016-12-28T11:51:53Z","git_url":"git://github.com/vbmithr/ocaml-websocket.git","ssh_url":"git@github.com:vbmithr/ocaml-websocket.git","clone_url":"https://github.com/vbmithr/ocaml-websocket.git","svn_url":"https://github.com/vbmithr/ocaml-websocket","homepage":null,"size":369,"stargazers_count":52,"watchers_count":52,"language":"OCaml","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":18,"mirror_url":null,"open_issues_count":14,"forks":18,"open_issues":14,"watchers":52,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/vbmithr/ocaml-websocket/pulls/73"},"html":{"href":"https://github.com/vbmithr/ocaml-websocket/pull/73"},"issue":{"href":"https://api.github.com/repos/vbmithr/ocaml-websocket/issues/73"},"comments":{"href":"https://api.github.com/repos/vbmithr/ocaml-websocket/issues/73/comments"},"review_comments":{"href":"https://api.github.com/repos/vbmithr/ocaml-websocket/pulls/73/comments"},"review_comment":{"href":"https://api.github.com/repos/vbmithr/ocaml-websocket/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/vbmithr/ocaml-websocket/pulls/73/commits"},"statuses":{"href":"https://api.github.com/repos/vbmithr/ocaml-websocket/statuses/0d0da3fc897d33cdfb64ecba1d42e0f6ff24d643"}}}}
{"actor":{"display_login":"copy"}}