New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Restructure document #411
Comments
Might look at #463 at the same time. |
I did a fully review of transport-14 and can confirm that the current organization is not super great as a lot of concepts you need to understand the details are explained too late in the doc. Also I noticed that the QUIC overview section was removed on -11. I agree that the text in that section was not great but I think it would help a reader, who is not familar with quic, a lot to have a (non-normative) section first explaining the main concepts (multiplexing/streams/frames, how encryption works/session resumption, reliability/packet numbers, maybe also flow control, migration, and versioning). Here are a bunch of micro re-org suggestions based on -14 (however I agree with the general stuture @martinthomson prposes above which at minimim would mean to move section 8 much earlier in the doc):
Also not quite an issue on document structure directly, but definitely related and should probably be cleaned up together, is that there are a couple of duplicted normative statements, e.g. sec 7.8. (MAX_STREAM_ID Frame) These normative statements do all say the same thing but are worded slightly different. To avoid any ambiguity, I would recommend to state these things normatively only once. There are a few more of these kind of cases... |
Thanks @mirjak. @janaiyengar and I have some time set aside after the next interim meeting to look at this issue. We've been waiting until the velocity of changes slows a little before attempting this because more changes tend to undo any work you do on improving structure and removing redundant text. But it looks like things are stabilizing now. |
Discussed on 2018-09-24: Proposed structure w/ notes:
From Section 11 onwards, try to keep to pure format and only have minimal description of semantics. Most of the semantic stuff should already be covered. |
It seems odd to put connection migration so early when things like Sending and Acknowledging packets is much later(though having those adjacent I think makes sense). Is there a reason connection migration needs to be that early, such as it's introducing text used later? Re 8: QUIC doesn't resent packets |
I guess you will also need to have the "Packets and Frame" section much earlier in the doc and I would think that the "Short and Long Headers" might be a subsection of that...? Also "Packet Size" might also be rather a subsection somewhere. However, I also have to say that the split in the current doc between section 5 "Frames and Frame Types" and 7 "Frame Types and Formats" is rather awkward, so I not sure I would recommend to keep it that way but maybe that's currently rather an editorial issue. |
wrt §7, it's probably useful to split this into sections for the non-encrypted part of the wire image (basically the packet headers) and everything inside. Otherwise it seems easy to get confused about what's encrypted and what's in the clear. |
Whoa, we did this already! |
The current document structure has suffered a little from the large volume of changes that we've thrown at the spec. Here's a structure that I think will survive a little better:
Fluff
High-Level Concepts
Mechanics
Boilerplate
The text was updated successfully, but these errors were encountered: