Subject: [quicwg/base-drafts] describe how a client is supposed to handle multiple tokens (#2801)

From: Marten Seemann <[email-masked]>
Date: Tue, 18 Jun 2019 01:51:51 -0700

The spec doesn't define what is a client is supposed to do when it receives multiple NEW_TOKEN frames.

There seem to be multiple reasonable ways to handle this situation:
1. A client could always use the oldest token first. This would allow the client to establish multiple connections at the same time.
2. A client could replace any old tokens when receiving a new token. This has the advantage that the most recently issued token will (presumably) have the longest life time. Furthermore, if the server encodes connection statistics (RTT, cwnd, etc.) into the ticket, using the newest ticket would provide it with the most recent data.

>From the Slack discussion, a better way might be a combination of these two:
When establishing a new connection, use the most recently obtained token first. When establishing another connection to the same server (before receiving a new NEW_TOKEN), use an older token. Client might then want to remember *n* tokens per endpoint, if they expect to establish *n* new connections simultaneously (or a few more than *n*, depending on the network conditions, to account for failed connection establishments).

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2801

---

From: ianswett <[email-masked]>
Date: Tue, 18 Jun 2019 07:25:55 -0700

Your suggestion SGTM.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2801#issuecomment-503159489

---

From: Martin Thomson <[email-masked]>
Date: Wed, 19 Jun 2019 18:06:25 -0700

This is fine, and it merely reflects reality: older tokens are less likely to be useful.  But there is no harm in attempting to use any token, provided that it hasn't been used before.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2801#issuecomment-503800884

---

From: Marten Seemann <[email-masked]>
Date: Thu, 20 Jun 2019 22:50:02 -0700

Do we need text about that? @martinthomson, do you want me to prepare a PR?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2801#issuecomment-504299003

---

From: Martin Thomson <[email-masked]>
Date: Tue, 25 Jun 2019 17:03:06 -0700

I think that an editorial PR would be great.  This is advice that doesn't change interoperability.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2801#issuecomment-505665827