Skip to content

Commit

Permalink
Largest sequence number
Browse files Browse the repository at this point in the history
The phrase is a bit clumsy, but this solves the issues of flipping the bit when packets are received out of order.
  • Loading branch information
huitema committed Jun 26, 2017
1 parent 981d9e2 commit 47b685c
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions draft-ietf-quic-transport.md
Original file line number Diff line number Diff line change
Expand Up @@ -854,10 +854,12 @@ The latency spin bit enables latency monitoring from observation points on
the network path. This bit is set as follow:

* The server sets the spin bit value to the value of the
spin bit in the last packet received from the client.
spin bit in the packet received from the client with
the largest sequence number.

* The client sets the spin bit value to the opposite
of the last value received from the server, or to 0
of the value set in the packet received from the server with the
largest sequence number, or to 0
if no packet as been received yet.

Observation points can estimate the network latency by monitoring these
Expand Down

4 comments on commit 47b685c

@martinthomson
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this better to factor out the language about when to flip into surrounding text? I mean, both client and server trigger a change in what they send based on receiving a different value in a packet that also increases their largest received sequence number.

@ianswett
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@martinthomson I think the extra clarity is worth an extra few words in this case.

@martinthomson
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, but I think that you can factor this AND make it a lot clearer at the same time, e.g.,

An endpoint updates the value of the bit in response to receiving packets from its peer. Only packets that increase the largest received packet number cause this change, otherwise a single change could be mistakenly recognized as multiple changes when packets containing different values are reordered. When a packet that increases the largest packet number is received on a given network path an endpoint sets the value that it includes in future packets:

  • a client changes its value to the opposite of the value it receives
  • a server changes its value to the value that it receives

@ianswett
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the text, your suggestion looks good to me.

Please sign in to comment.