{"action":"created","comment":{"url":"https://api.github.com/repos/pravega/pravega/pulls/comments/241671071","pull_request_review_id":185001901,"id":241671071,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MTY3MTA3MQ==","diff_hunk":"@@ -11,102 +11,97 @@ You may obtain a copy of the License at\n \n This page describes the proposed Wire Protocol for the Streaming Service. See parent page for description of the service as a whole.\n \n-Protocol\n-========\n+# Protocol\n \n-Data is sent over the wire in self-contained \"messages\" that are either \"requests\" (messages from the client to the server) or \"replies\" (which are in response to a request and go back to the client).\n+Data is sent over the wire in self-contained \"messages\" that are either \"requests\" (messages sent from the client to the server) or \"replies\" (responses sent from the server to the client).\n \n-All requests and replies have an 8 byte header with two fields, (All data is written in BigEndian format):\n-1.  Message Type - An integer (4 bytes) identifies the message type and this determines what fields will follow. (Note the protocol can be extended by adding new types)\n-2.  Length - Unsigned integer 4 bytes (Messages should be &lt; 2^24, but the upper bits remain zero). How many bytes of data from this point forward are part of this message. (Possibly zero, indicating there is no data)\n+All the requests and replies have an 8 bytes header with two fields.(All data is written in **BigEndian** format).\n \n+- **Message Type**: An Integer of 4 bytes identifies the message type and determines what fields will follow. (Note that the protocol can be extended by adding new types.)\n+- **Length**:  Unsigned Integer of 4 bytes (Messages should be less than 2^<sup>24</sup>, but the upper bits remain zero). The remaining bits followed by the upper bit are part of the message. (Possibly zero, indicating there is no data).\n The remainder of the fields are specific to the type of message. A few important messages are listed below.\n \n-General\n--------\n+# General\n \n-### Partial Message - Request/Reply\n+## Partial Message - Request/Reply\n \n-1.  Begin/Middle/End - Enum (1 byte)\n-2.  Data\n-A partial message is one that was broken up when being sent over the wire. (For any reason). The whole message is reconstructed by reading the partial messages in sequence and assembling them into a whole. It is not valid to attempt to start a new partial message before completing the previous one.\n+-  **Begin/Middle/End**: Enum (1 byte)\n+-  **Data:** A partial message is the one that was broken up when the message was sent over the wire. It is essential that at any cause, the whole message is reconstructed by reading the partial messages in sequence and assembling them into a whole. It is not valid to attempt to start a new partial message before completing the previous one.\n \n-### KeepAlive - Request/Reply\n+## KeepAlive - Request/Reply\n \n-1.  Data - uninterpreted data of the length of the message. (Usually 0 bytes)\n+- **Data**: Uninterpreted data of the length of the message. (Usually 0 byte)\n \n-Reading\n--------\n+# Reading\n \n-### Read Segment - Request\n \n-1.  Segment to read - String (2 byte length, followed by that many bytes of Java's Modified UTF-8)\n-2.  Offset to read from - Long (8 bytes)\n-3.  Suggested Length of Reply - int (4 bytes)\n-    1.  This is how much data the client wants. They won't necessarily get that much.\n+## Read Segment - Request\n \n-### Segment Read - Reply\n+1. Segment to read: String (2 bytes length, followed by that many bytes of Java's Modified UTF-8).\n+2. Offset to read from:  Long (8 bytes).\n+3. Suggested Length of Reply: Integer (4 bytes). This is based on the clients requirements. (They won't necessarily get that much).","path":"documentation/src/docs/wire-protocol.md","position":54,"original_position":54,"commit_id":"7e9070a39891b73662d2b916446775a1da43f0d0","original_commit_id":"7e9070a39891b73662d2b916446775a1da43f0d0","user":{"login":"Aparnarr","id":40591559,"node_id":"MDQ6VXNlcjQwNTkxNTU5","avatar_url":"https://avatars3.githubusercontent.com/u/40591559?v=4","gravatar_id":"","url":"https://api.github.com/users/Aparnarr","html_url":"https://github.com/Aparnarr","followers_url":"https://api.github.com/users/Aparnarr/followers","following_url":"https://api.github.com/users/Aparnarr/following{/other_user}","gists_url":"https://api.github.com/users/Aparnarr/gists{/gist_id}","starred_url":"https://api.github.com/users/Aparnarr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Aparnarr/subscriptions","organizations_url":"https://api.github.com/users/Aparnarr/orgs","repos_url":"https://api.github.com/users/Aparnarr/repos","events_url":"https://api.github.com/users/Aparnarr/events{/privacy}","received_events_url":"https://api.github.com/users/Aparnarr/received_events","type":"User","site_admin":false},"body":"Accepted suggestion","created_at":"2018-12-14T08:12:55Z","updated_at":"2018-12-14T08:12:55Z","html_url":"https://github.com/pravega/pravega/pull/3201#discussion_r241671071","pull_request_url":"https://api.github.com/repos/pravega/pravega/pulls/3201","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/pravega/pravega/pulls/comments/241671071"},"html":{"href":"https://github.com/pravega/pravega/pull/3201#discussion_r241671071"},"pull_request":{"href":"https://api.github.com/repos/pravega/pravega/pulls/3201"}},"in_reply_to_id":241000891},"pull_request":{"url":"https://api.github.com/repos/pravega/pravega/pulls/3201","id":238023339,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM4MDIzMzM5","html_url":"https://github.com/pravega/pravega/pull/3201","diff_url":"https://github.com/pravega/pravega/pull/3201.diff","patch_url":"https://github.com/pravega/pravega/pull/3201.patch","issue_url":"https://api.github.com/repos/pravega/pravega/issues/3201","number":3201,"state":"open","locked":false,"title":"Issue 3200: Document Review: wire-protocol.md","user":{"login":"Aparnarr","id":40591559,"node_id":"MDQ6VXNlcjQwNTkxNTU5","avatar_url":"https://avatars3.githubusercontent.com/u/40591559?v=4","gravatar_id":"","url":"https://api.github.com/users/Aparnarr","html_url":"https://github.com/Aparnarr","followers_url":"https://api.github.com/users/Aparnarr/followers","following_url":"https://api.github.com/users/Aparnarr/following{/other_user}","gists_url":"https://api.github.com/users/Aparnarr/gists{/gist_id}","starred_url":"https://api.github.com/users/Aparnarr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Aparnarr/subscriptions","organizations_url":"https://api.github.com/users/Aparnarr/orgs","repos_url":"https://api.github.com/users/Aparnarr/repos","events_url":"https://api.github.com/users/Aparnarr/events{/privacy}","received_events_url":"https://api.github.com/users/Aparnarr/received_events","type":"User","site_admin":false},"body":"Signed-off-by: Aparna <Aparna.Rr@emc.com>\r\n\r\n**Change log description**  \r\n1. Minor edits(Content)\r\n2. Format Fix\r\n\r\n**Purpose of the change**  \r\n Fixes #3200\r\n\r\n","created_at":"2018-12-12T12:41:08Z","updated_at":"2018-12-14T08:12:55Z","closed_at":null,"merged_at":null,"merge_commit_sha":"731e937587b929e19feebb7c4ed136fa3b664eb5","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/pravega/pravega/pulls/3201/commits","review_comments_url":"https://api.github.com/repos/pravega/pravega/pulls/3201/comments","review_comment_url":"https://api.github.com/repos/pravega/pravega/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pravega/pravega/issues/3201/comments","statuses_url":"https://api.github.com/repos/pravega/pravega/statuses/7e9070a39891b73662d2b916446775a1da43f0d0","head":{"label":"Aparnarr:issue-3200-wire-protocol-doc","ref":"issue-3200-wire-protocol-doc","sha":"7e9070a39891b73662d2b916446775a1da43f0d0","user":{"login":"Aparnarr","id":40591559,"node_id":"MDQ6VXNlcjQwNTkxNTU5","avatar_url":"https://avatars3.githubusercontent.com/u/40591559?v=4","gravatar_id":"","url":"https://api.github.com/users/Aparnarr","html_url":"https://github.com/Aparnarr","followers_url":"https://api.github.com/users/Aparnarr/followers","following_url":"https://api.github.com/users/Aparnarr/following{/other_user}","gists_url":"https://api.github.com/users/Aparnarr/gists{/gist_id}","starred_url":"https://api.github.com/users/Aparnarr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Aparnarr/subscriptions","organizations_url":"https://api.github.com/users/Aparnarr/orgs","repos_url":"https://api.github.com/users/Aparnarr/repos","events_url":"https://api.github.com/users/Aparnarr/events{/privacy}","received_events_url":"https://api.github.com/users/Aparnarr/received_events","type":"User","site_admin":false},"repo":{"id":142117017,"node_id":"MDEwOlJlcG9zaXRvcnkxNDIxMTcwMTc=","name":"pravega","full_name":"Aparnarr/pravega","private":false,"owner":{"login":"Aparnarr","id":40591559,"node_id":"MDQ6VXNlcjQwNTkxNTU5","avatar_url":"https://avatars3.githubusercontent.com/u/40591559?v=4","gravatar_id":"","url":"https://api.github.com/users/Aparnarr","html_url":"https://github.com/Aparnarr","followers_url":"https://api.github.com/users/Aparnarr/followers","following_url":"https://api.github.com/users/Aparnarr/following{/other_user}","gists_url":"https://api.github.com/users/Aparnarr/gists{/gist_id}","starred_url":"https://api.github.com/users/Aparnarr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Aparnarr/subscriptions","organizations_url":"https://api.github.com/users/Aparnarr/orgs","repos_url":"https://api.github.com/users/Aparnarr/repos","events_url":"https://api.github.com/users/Aparnarr/events{/privacy}","received_events_url":"https://api.github.com/users/Aparnarr/received_events","type":"User","site_admin":false},"html_url":"https://github.com/Aparnarr/pravega","description":"Pravega - Streaming as a new software defined storage primitive","fork":true,"url":"https://api.github.com/repos/Aparnarr/pravega","forks_url":"https://api.github.com/repos/Aparnarr/pravega/forks","keys_url":"https://api.github.com/repos/Aparnarr/pravega/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Aparnarr/pravega/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Aparnarr/pravega/teams","hooks_url":"https://api.github.com/repos/Aparnarr/pravega/hooks","issue_events_url":"https://api.github.com/repos/Aparnarr/pravega/issues/events{/number}","events_url":"https://api.github.com/repos/Aparnarr/pravega/events","assignees_url":"https://api.github.com/repos/Aparnarr/pravega/assignees{/user}","branches_url":"https://api.github.com/repos/Aparnarr/pravega/branches{/branch}","tags_url":"https://api.github.com/repos/Aparnarr/pravega/tags","blobs_url":"https://api.github.com/repos/Aparnarr/pravega/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Aparnarr/pravega/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Aparnarr/pravega/git/refs{/sha}","trees_url":"https://api.github.com/repos/Aparnarr/pravega/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Aparnarr/pravega/statuses/{sha}","languages_url":"https://api.github.com/repos/Aparnarr/pravega/languages","stargazers_url":"https://api.github.com/repos/Aparnarr/pravega/stargazers","contributors_url":"https://api.github.com/repos/Aparnarr/pravega/contributors","subscribers_url":"https://api.github.com/repos/Aparnarr/pravega/subscribers","subscription_url":"https://api.github.com/repos/Aparnarr/pravega/subscription","commits_url":"https://api.github.com/repos/Aparnarr/pravega/commits{/sha}","git_commits_url":"https://api.github.com/repos/Aparnarr/pravega/git/commits{/sha}","comments_url":"https://api.github.com/repos/Aparnarr/pravega/comments{/number}","issue_comment_url":"https://api.github.com/repos/Aparnarr/pravega/issues/comments{/number}","contents_url":"https://api.github.com/repos/Aparnarr/pravega/contents/{+path}","compare_url":"https://api.github.com/repos/Aparnarr/pravega/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Aparnarr/pravega/merges","archive_url":"https://api.github.com/repos/Aparnarr/pravega/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Aparnarr/pravega/downloads","issues_url":"https://api.github.com/repos/Aparnarr/pravega/issues{/number}","pulls_url":"https://api.github.com/repos/Aparnarr/pravega/pulls{/number}","milestones_url":"https://api.github.com/repos/Aparnarr/pravega/milestones{/number}","notifications_url":"https://api.github.com/repos/Aparnarr/pravega/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Aparnarr/pravega/labels{/name}","releases_url":"https://api.github.com/repos/Aparnarr/pravega/releases{/id}","deployments_url":"https://api.github.com/repos/Aparnarr/pravega/deployments","created_at":"2018-07-24T06:50:37Z","updated_at":"2018-12-11T05:57:18Z","pushed_at":"2018-12-12T12:38:44Z","git_url":"git://github.com/Aparnarr/pravega.git","ssh_url":"git@github.com:Aparnarr/pravega.git","clone_url":"https://github.com/Aparnarr/pravega.git","svn_url":"https://github.com/Aparnarr/pravega","homepage":"http://pravega.io","size":28718,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":4,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"base":{"label":"pravega:master","ref":"master","sha":"02fc70d3ae0d32f6ff351b49aa78d293a302de7d","user":{"login":"pravega","id":25698199,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI1Njk4MTk5","avatar_url":"https://avatars1.githubusercontent.com/u/25698199?v=4","gravatar_id":"","url":"https://api.github.com/users/pravega","html_url":"https://github.com/pravega","followers_url":"https://api.github.com/users/pravega/followers","following_url":"https://api.github.com/users/pravega/following{/other_user}","gists_url":"https://api.github.com/users/pravega/gists{/gist_id}","starred_url":"https://api.github.com/users/pravega/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pravega/subscriptions","organizations_url":"https://api.github.com/users/pravega/orgs","repos_url":"https://api.github.com/users/pravega/repos","events_url":"https://api.github.com/users/pravega/events{/privacy}","received_events_url":"https://api.github.com/users/pravega/received_events","type":"Organization","site_admin":false},"repo":{"id":63096822,"node_id":"MDEwOlJlcG9zaXRvcnk2MzA5NjgyMg==","name":"pravega","full_name":"pravega/pravega","private":false,"owner":{"login":"pravega","id":25698199,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI1Njk4MTk5","avatar_url":"https://avatars1.githubusercontent.com/u/25698199?v=4","gravatar_id":"","url":"https://api.github.com/users/pravega","html_url":"https://github.com/pravega","followers_url":"https://api.github.com/users/pravega/followers","following_url":"https://api.github.com/users/pravega/following{/other_user}","gists_url":"https://api.github.com/users/pravega/gists{/gist_id}","starred_url":"https://api.github.com/users/pravega/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pravega/subscriptions","organizations_url":"https://api.github.com/users/pravega/orgs","repos_url":"https://api.github.com/users/pravega/repos","events_url":"https://api.github.com/users/pravega/events{/privacy}","received_events_url":"https://api.github.com/users/pravega/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pravega/pravega","description":"Pravega - Streaming as a new software defined storage primitive","fork":false,"url":"https://api.github.com/repos/pravega/pravega","forks_url":"https://api.github.com/repos/pravega/pravega/forks","keys_url":"https://api.github.com/repos/pravega/pravega/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pravega/pravega/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pravega/pravega/teams","hooks_url":"https://api.github.com/repos/pravega/pravega/hooks","issue_events_url":"https://api.github.com/repos/pravega/pravega/issues/events{/number}","events_url":"https://api.github.com/repos/pravega/pravega/events","assignees_url":"https://api.github.com/repos/pravega/pravega/assignees{/user}","branches_url":"https://api.github.com/repos/pravega/pravega/branches{/branch}","tags_url":"https://api.github.com/repos/pravega/pravega/tags","blobs_url":"https://api.github.com/repos/pravega/pravega/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pravega/pravega/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pravega/pravega/git/refs{/sha}","trees_url":"https://api.github.com/repos/pravega/pravega/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pravega/pravega/statuses/{sha}","languages_url":"https://api.github.com/repos/pravega/pravega/languages","stargazers_url":"https://api.github.com/repos/pravega/pravega/stargazers","contributors_url":"https://api.github.com/repos/pravega/pravega/contributors","subscribers_url":"https://api.github.com/repos/pravega/pravega/subscribers","subscription_url":"https://api.github.com/repos/pravega/pravega/subscription","commits_url":"https://api.github.com/repos/pravega/pravega/commits{/sha}","git_commits_url":"https://api.github.com/repos/pravega/pravega/git/commits{/sha}","comments_url":"https://api.github.com/repos/pravega/pravega/comments{/number}","issue_comment_url":"https://api.github.com/repos/pravega/pravega/issues/comments{/number}","contents_url":"https://api.github.com/repos/pravega/pravega/contents/{+path}","compare_url":"https://api.github.com/repos/pravega/pravega/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pravega/pravega/merges","archive_url":"https://api.github.com/repos/pravega/pravega/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pravega/pravega/downloads","issues_url":"https://api.github.com/repos/pravega/pravega/issues{/number}","pulls_url":"https://api.github.com/repos/pravega/pravega/pulls{/number}","milestones_url":"https://api.github.com/repos/pravega/pravega/milestones{/number}","notifications_url":"https://api.github.com/repos/pravega/pravega/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pravega/pravega/labels{/name}","releases_url":"https://api.github.com/repos/pravega/pravega/releases{/id}","deployments_url":"https://api.github.com/repos/pravega/pravega/deployments","created_at":"2016-07-11T19:41:03Z","updated_at":"2018-12-14T02:13:24Z","pushed_at":"2018-12-13T21:49:12Z","git_url":"git://github.com/pravega/pravega.git","ssh_url":"git@github.com:pravega/pravega.git","clone_url":"https://github.com/pravega/pravega.git","svn_url":"https://github.com/pravega/pravega","homepage":"http://pravega.io","size":27215,"stargazers_count":290,"watchers_count":290,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":94,"mirror_url":null,"archived":false,"open_issues_count":317,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":94,"open_issues":317,"watchers":290,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pravega/pravega/pulls/3201"},"html":{"href":"https://github.com/pravega/pravega/pull/3201"},"issue":{"href":"https://api.github.com/repos/pravega/pravega/issues/3201"},"comments":{"href":"https://api.github.com/repos/pravega/pravega/issues/3201/comments"},"review_comments":{"href":"https://api.github.com/repos/pravega/pravega/pulls/3201/comments"},"review_comment":{"href":"https://api.github.com/repos/pravega/pravega/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pravega/pravega/pulls/3201/commits"},"statuses":{"href":"https://api.github.com/repos/pravega/pravega/statuses/7e9070a39891b73662d2b916446775a1da43f0d0"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"Aparnarr"}}