{"action":"created","comment":{"url":"https://api.github.com/repos/quicwg/base-drafts/pulls/comments/201558190","pull_request_review_id":136083010,"id":201558190,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMTU1ODE5MA==","diff_hunk":"@@ -1549,6 +1543,42 @@ disable_migration (0x0009):\n   address other than that used to perform the handshake.  This parameter is a\n   zero-length value.\n \n+Either peer MAY advertise an initial value for the flow control on each type of\n+stream on which they might receive data.  Each of the following transport\n+parameters is encoded as an unsigned 32-bit integer in units of octets:\n+\n+initial_max_stream_data_bidi_local (0x0000):\n+\n+: The initial stream maximum data for bidirectional, locally-initiated streams\n+  parameter contains the initial flow control limit for newly created\n+  bidirectional streams opened by the endpoint that sets the transport\n+  parameter.  In client transport parameters, this applies to streams with an\n+  identifier ending in 0x0; in server transport parameters, this applies to\n+  streams ending in 0x1.\n+\n+initial_max_stream_data_bidi_remote (0x000a):\n+\n+: The initial stream maximum data for bidirectional, peer-initiated streams\n+  parameter contains the initial flow control limit for newly created\n+  bidirectional streams opened by the endpoint that receives the transport\n+  parameter.  In client transport parameters, this applies to streams with an\n+  identifier ending in 0x1; in server transport parameters, this applies to\n+  streams ending in 0x0.\n+\n+initial_max_stream_data_uni (0x000b):\n+\n+: The initial stream maximum data for unidirectional streams parameter contains\n+  the initial flow control limit for newly created unidirectional streams opened\n+  by the endpoint that receives the transport parameter.  In client transport\n+  parameters, this applies to streams with an identifier ending in 0x3; in\n+  server transport parameters, this applies to streams ending in 0x2.\n+\n+If present, transport parameters that set initial flow control limits are\n+equivalent to sending a MAX_STREAM_DATA frame ({{frame-max-stream-data}}) on\n+every stream of the corresponding type immediately after opening.  If the\n+transport parameter is absent, streams of that type start with a flow control\n+limit of 0.","path":"draft-ietf-quic-transport.md","position":71,"original_position":71,"commit_id":"48d054f011ef3b853144b9dd222024bee885ed00","original_commit_id":"48d054f011ef3b853144b9dd222024bee885ed00","user":{"login":"martinthomson","id":67641,"node_id":"MDQ6VXNlcjY3NjQx","avatar_url":"https://avatars1.githubusercontent.com/u/67641?v=4","gravatar_id":"","url":"https://api.github.com/users/martinthomson","html_url":"https://github.com/martinthomson","followers_url":"https://api.github.com/users/martinthomson/followers","following_url":"https://api.github.com/users/martinthomson/following{/other_user}","gists_url":"https://api.github.com/users/martinthomson/gists{/gist_id}","starred_url":"https://api.github.com/users/martinthomson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinthomson/subscriptions","organizations_url":"https://api.github.com/users/martinthomson/orgs","repos_url":"https://api.github.com/users/martinthomson/repos","events_url":"https://api.github.com/users/martinthomson/events{/privacy}","received_events_url":"https://api.github.com/users/martinthomson/received_events","type":"User","site_admin":false},"body":"You can send STREAM_BLOCKED on any stream that you can open, but no otherwise send on.  That has the effect of opening the stream.  You don't have to send an empty STREAM frame.\r\n\r\nAs @LPardue says, there are values that might be better than others as an absolute minimum.  For instance, knowing the type of unidirectional stream is probably better than knowing nothing at all, but we have to trust that implementations provide starting flow control limits that make sense for them.  They have to deal with the consequences, after all.\r\n\r\n0 was a valid value in the past, so we're not dealing with anything new here, except to the extent that defaults matter.","created_at":"2018-07-11T03:52:28Z","updated_at":"2018-07-11T03:52:28Z","html_url":"https://github.com/quicwg/base-drafts/pull/1542#discussion_r201558190","pull_request_url":"https://api.github.com/repos/quicwg/base-drafts/pulls/1542","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/quicwg/base-drafts/pulls/comments/201558190"},"html":{"href":"https://github.com/quicwg/base-drafts/pull/1542#discussion_r201558190"},"pull_request":{"href":"https://api.github.com/repos/quicwg/base-drafts/pulls/1542"}},"in_reply_to_id":201364621},"pull_request":{"url":"https://api.github.com/repos/quicwg/base-drafts/pulls/1542","id":200265367,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAwMjY1MzY3","html_url":"https://github.com/quicwg/base-drafts/pull/1542","diff_url":"https://github.com/quicwg/base-drafts/pull/1542.diff","patch_url":"https://github.com/quicwg/base-drafts/pull/1542.patch","issue_url":"https://api.github.com/repos/quicwg/base-drafts/issues/1542","number":1542,"state":"open","locked":false,"title":"Split initial MAX_STREAM_DATA transport parameters","user":{"login":"martinthomson","id":67641,"node_id":"MDQ6VXNlcjY3NjQx","avatar_url":"https://avatars1.githubusercontent.com/u/67641?v=4","gravatar_id":"","url":"https://api.github.com/users/martinthomson","html_url":"https://github.com/martinthomson","followers_url":"https://api.github.com/users/martinthomson/followers","following_url":"https://api.github.com/users/martinthomson/following{/other_user}","gists_url":"https://api.github.com/users/martinthomson/gists{/gist_id}","starred_url":"https://api.github.com/users/martinthomson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinthomson/subscriptions","organizations_url":"https://api.github.com/users/martinthomson/orgs","repos_url":"https://api.github.com/users/martinthomson/repos","events_url":"https://api.github.com/users/martinthomson/events{/privacy}","received_events_url":"https://api.github.com/users/martinthomson/received_events","type":"User","site_admin":false},"body":"This splits the one parameter into three and makes each optional, with a\r\ndefault of 0.\r\n\r\nCloses #1016.\r\n\r\n(Separately, I'm convinced that we want to do some defragmentation of codepoints when we get the chance.  It might be unpleasant on those tracking the spec, but better that than what this sort of change produces.)","created_at":"2018-07-10T02:15:29Z","updated_at":"2018-07-11T03:52:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4c901bee912b4543f164d9f706576662c8226978","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":481871399,"node_id":"MDU6TGFiZWw0ODE4NzEzOTk=","url":"https://api.github.com/repos/quicwg/base-drafts/labels/-transport","name":"-transport","color":"fbca04","default":false},{"id":481871361,"node_id":"MDU6TGFiZWw0ODE4NzEzNjE=","url":"https://api.github.com/repos/quicwg/base-drafts/labels/design","name":"design","color":"1d76db","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/quicwg/base-drafts/pulls/1542/commits","review_comments_url":"https://api.github.com/repos/quicwg/base-drafts/pulls/1542/comments","review_comment_url":"https://api.github.com/repos/quicwg/base-drafts/pulls/comments{/number}","comments_url":"https://api.github.com/repos/quicwg/base-drafts/issues/1542/comments","statuses_url":"https://api.github.com/repos/quicwg/base-drafts/statuses/48d054f011ef3b853144b9dd222024bee885ed00","head":{"label":"quicwg:split-flow-control-tp","ref":"split-flow-control-tp","sha":"48d054f011ef3b853144b9dd222024bee885ed00","user":{"login":"quicwg","id":22631371,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNjMxMzcx","avatar_url":"https://avatars3.githubusercontent.com/u/22631371?v=4","gravatar_id":"","url":"https://api.github.com/users/quicwg","html_url":"https://github.com/quicwg","followers_url":"https://api.github.com/users/quicwg/followers","following_url":"https://api.github.com/users/quicwg/following{/other_user}","gists_url":"https://api.github.com/users/quicwg/gists{/gist_id}","starred_url":"https://api.github.com/users/quicwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quicwg/subscriptions","organizations_url":"https://api.github.com/users/quicwg/orgs","repos_url":"https://api.github.com/users/quicwg/repos","events_url":"https://api.github.com/users/quicwg/events{/privacy}","received_events_url":"https://api.github.com/users/quicwg/received_events","type":"Organization","site_admin":false},"repo":{"id":73779599,"node_id":"MDEwOlJlcG9zaXRvcnk3Mzc3OTU5OQ==","name":"base-drafts","full_name":"quicwg/base-drafts","owner":{"login":"quicwg","id":22631371,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNjMxMzcx","avatar_url":"https://avatars3.githubusercontent.com/u/22631371?v=4","gravatar_id":"","url":"https://api.github.com/users/quicwg","html_url":"https://github.com/quicwg","followers_url":"https://api.github.com/users/quicwg/followers","following_url":"https://api.github.com/users/quicwg/following{/other_user}","gists_url":"https://api.github.com/users/quicwg/gists{/gist_id}","starred_url":"https://api.github.com/users/quicwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quicwg/subscriptions","organizations_url":"https://api.github.com/users/quicwg/orgs","repos_url":"https://api.github.com/users/quicwg/repos","events_url":"https://api.github.com/users/quicwg/events{/privacy}","received_events_url":"https://api.github.com/users/quicwg/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/quicwg/base-drafts","description":" Internet-Drafts that make up the base QUIC specification","fork":false,"url":"https://api.github.com/repos/quicwg/base-drafts","forks_url":"https://api.github.com/repos/quicwg/base-drafts/forks","keys_url":"https://api.github.com/repos/quicwg/base-drafts/keys{/key_id}","collaborators_url":"https://api.github.com/repos/quicwg/base-drafts/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/quicwg/base-drafts/teams","hooks_url":"https://api.github.com/repos/quicwg/base-drafts/hooks","issue_events_url":"https://api.github.com/repos/quicwg/base-drafts/issues/events{/number}","events_url":"https://api.github.com/repos/quicwg/base-drafts/events","assignees_url":"https://api.github.com/repos/quicwg/base-drafts/assignees{/user}","branches_url":"https://api.github.com/repos/quicwg/base-drafts/branches{/branch}","tags_url":"https://api.github.com/repos/quicwg/base-drafts/tags","blobs_url":"https://api.github.com/repos/quicwg/base-drafts/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/quicwg/base-drafts/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/quicwg/base-drafts/git/refs{/sha}","trees_url":"https://api.github.com/repos/quicwg/base-drafts/git/trees{/sha}","statuses_url":"https://api.github.com/repos/quicwg/base-drafts/statuses/{sha}","languages_url":"https://api.github.com/repos/quicwg/base-drafts/languages","stargazers_url":"https://api.github.com/repos/quicwg/base-drafts/stargazers","contributors_url":"https://api.github.com/repos/quicwg/base-drafts/contributors","subscribers_url":"https://api.github.com/repos/quicwg/base-drafts/subscribers","subscription_url":"https://api.github.com/repos/quicwg/base-drafts/subscription","commits_url":"https://api.github.com/repos/quicwg/base-drafts/commits{/sha}","git_commits_url":"https://api.github.com/repos/quicwg/base-drafts/git/commits{/sha}","comments_url":"https://api.github.com/repos/quicwg/base-drafts/comments{/number}","issue_comment_url":"https://api.github.com/repos/quicwg/base-drafts/issues/comments{/number}","contents_url":"https://api.github.com/repos/quicwg/base-drafts/contents/{+path}","compare_url":"https://api.github.com/repos/quicwg/base-drafts/compare/{base}...{head}","merges_url":"https://api.github.com/repos/quicwg/base-drafts/merges","archive_url":"https://api.github.com/repos/quicwg/base-drafts/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/quicwg/base-drafts/downloads","issues_url":"https://api.github.com/repos/quicwg/base-drafts/issues{/number}","pulls_url":"https://api.github.com/repos/quicwg/base-drafts/pulls{/number}","milestones_url":"https://api.github.com/repos/quicwg/base-drafts/milestones{/number}","notifications_url":"https://api.github.com/repos/quicwg/base-drafts/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/quicwg/base-drafts/labels{/name}","releases_url":"https://api.github.com/repos/quicwg/base-drafts/releases{/id}","deployments_url":"https://api.github.com/repos/quicwg/base-drafts/deployments","created_at":"2016-11-15T05:30:30Z","updated_at":"2018-07-10T23:42:42Z","pushed_at":"2018-07-11T02:20:39Z","git_url":"git://github.com/quicwg/base-drafts.git","ssh_url":"git@github.com:quicwg/base-drafts.git","clone_url":"https://github.com/quicwg/base-drafts.git","svn_url":"https://github.com/quicwg/base-drafts","homepage":"https://quicwg.github.io/","size":41331,"stargazers_count":265,"watchers_count":265,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":62,"mirror_url":null,"archived":false,"open_issues_count":115,"license":null,"forks":62,"open_issues":115,"watchers":265,"default_branch":"master"}},"base":{"label":"quicwg:master","ref":"master","sha":"0ebbdadeb73a826bf99ed0ee20da44d2aa8a16ec","user":{"login":"quicwg","id":22631371,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNjMxMzcx","avatar_url":"https://avatars3.githubusercontent.com/u/22631371?v=4","gravatar_id":"","url":"https://api.github.com/users/quicwg","html_url":"https://github.com/quicwg","followers_url":"https://api.github.com/users/quicwg/followers","following_url":"https://api.github.com/users/quicwg/following{/other_user}","gists_url":"https://api.github.com/users/quicwg/gists{/gist_id}","starred_url":"https://api.github.com/users/quicwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quicwg/subscriptions","organizations_url":"https://api.github.com/users/quicwg/orgs","repos_url":"https://api.github.com/users/quicwg/repos","events_url":"https://api.github.com/users/quicwg/events{/privacy}","received_events_url":"https://api.github.com/users/quicwg/received_events","type":"Organization","site_admin":false},"repo":{"id":73779599,"node_id":"MDEwOlJlcG9zaXRvcnk3Mzc3OTU5OQ==","name":"base-drafts","full_name":"quicwg/base-drafts","owner":{"login":"quicwg","id":22631371,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNjMxMzcx","avatar_url":"https://avatars3.githubusercontent.com/u/22631371?v=4","gravatar_id":"","url":"https://api.github.com/users/quicwg","html_url":"https://github.com/quicwg","followers_url":"https://api.github.com/users/quicwg/followers","following_url":"https://api.github.com/users/quicwg/following{/other_user}","gists_url":"https://api.github.com/users/quicwg/gists{/gist_id}","starred_url":"https://api.github.com/users/quicwg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quicwg/subscriptions","organizations_url":"https://api.github.com/users/quicwg/orgs","repos_url":"https://api.github.com/users/quicwg/repos","events_url":"https://api.github.com/users/quicwg/events{/privacy}","received_events_url":"https://api.github.com/users/quicwg/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/quicwg/base-drafts","description":" Internet-Drafts that make up the base QUIC specification","fork":false,"url":"https://api.github.com/repos/quicwg/base-drafts","forks_url":"https://api.github.com/repos/quicwg/base-drafts/forks","keys_url":"https://api.github.com/repos/quicwg/base-drafts/keys{/key_id}","collaborators_url":"https://api.github.com/repos/quicwg/base-drafts/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/quicwg/base-drafts/teams","hooks_url":"https://api.github.com/repos/quicwg/base-drafts/hooks","issue_events_url":"https://api.github.com/repos/quicwg/base-drafts/issues/events{/number}","events_url":"https://api.github.com/repos/quicwg/base-drafts/events","assignees_url":"https://api.github.com/repos/quicwg/base-drafts/assignees{/user}","branches_url":"https://api.github.com/repos/quicwg/base-drafts/branches{/branch}","tags_url":"https://api.github.com/repos/quicwg/base-drafts/tags","blobs_url":"https://api.github.com/repos/quicwg/base-drafts/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/quicwg/base-drafts/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/quicwg/base-drafts/git/refs{/sha}","trees_url":"https://api.github.com/repos/quicwg/base-drafts/git/trees{/sha}","statuses_url":"https://api.github.com/repos/quicwg/base-drafts/statuses/{sha}","languages_url":"https://api.github.com/repos/quicwg/base-drafts/languages","stargazers_url":"https://api.github.com/repos/quicwg/base-drafts/stargazers","contributors_url":"https://api.github.com/repos/quicwg/base-drafts/contributors","subscribers_url":"https://api.github.com/repos/quicwg/base-drafts/subscribers","subscription_url":"https://api.github.com/repos/quicwg/base-drafts/subscription","commits_url":"https://api.github.com/repos/quicwg/base-drafts/commits{/sha}","git_commits_url":"https://api.github.com/repos/quicwg/base-drafts/git/commits{/sha}","comments_url":"https://api.github.com/repos/quicwg/base-drafts/comments{/number}","issue_comment_url":"https://api.github.com/repos/quicwg/base-drafts/issues/comments{/number}","contents_url":"https://api.github.com/repos/quicwg/base-drafts/contents/{+path}","compare_url":"https://api.github.com/repos/quicwg/base-drafts/compare/{base}...{head}","merges_url":"https://api.github.com/repos/quicwg/base-drafts/merges","archive_url":"https://api.github.com/repos/quicwg/base-drafts/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/quicwg/base-drafts/downloads","issues_url":"https://api.github.com/repos/quicwg/base-drafts/issues{/number}","pulls_url":"https://api.github.com/repos/quicwg/base-drafts/pulls{/number}","milestones_url":"https://api.github.com/repos/quicwg/base-drafts/milestones{/number}","notifications_url":"https://api.github.com/repos/quicwg/base-drafts/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/quicwg/base-drafts/labels{/name}","releases_url":"https://api.github.com/repos/quicwg/base-drafts/releases{/id}","deployments_url":"https://api.github.com/repos/quicwg/base-drafts/deployments","created_at":"2016-11-15T05:30:30Z","updated_at":"2018-07-10T23:42:42Z","pushed_at":"2018-07-11T02:20:39Z","git_url":"git://github.com/quicwg/base-drafts.git","ssh_url":"git@github.com:quicwg/base-drafts.git","clone_url":"https://github.com/quicwg/base-drafts.git","svn_url":"https://github.com/quicwg/base-drafts","homepage":"https://quicwg.github.io/","size":41331,"stargazers_count":265,"watchers_count":265,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":62,"mirror_url":null,"archived":false,"open_issues_count":115,"license":null,"forks":62,"open_issues":115,"watchers":265,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/quicwg/base-drafts/pulls/1542"},"html":{"href":"https://github.com/quicwg/base-drafts/pull/1542"},"issue":{"href":"https://api.github.com/repos/quicwg/base-drafts/issues/1542"},"comments":{"href":"https://api.github.com/repos/quicwg/base-drafts/issues/1542/comments"},"review_comments":{"href":"https://api.github.com/repos/quicwg/base-drafts/pulls/1542/comments"},"review_comment":{"href":"https://api.github.com/repos/quicwg/base-drafts/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/quicwg/base-drafts/pulls/1542/commits"},"statuses":{"href":"https://api.github.com/repos/quicwg/base-drafts/statuses/48d054f011ef3b853144b9dd222024bee885ed00"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"martinthomson"}}