Subject: Re: [quicwg/base-drafts] Include handshake anti-deadlock logic in pseudocode (#2281)

From: Benjamin Saunders <[email-masked]>
Date: Sat, 30 Mar 2019 18:41:09 -0700

Rebased and switched to the simplified logic as suggested.

-- 
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/pull/2281#issuecomment-478304055

---

From: Martin Thomson <[email-masked]>
Date: Sun, 31 Mar 2019 00:01:27 -0700

martinthomson requested changes on this pull request.

>      // Crypto retransmission timeout.
     RetransmitUnackedCryptoData()
     crypto_count++
+  else if (endpoint is client without 1-RTT keys):
+    if (handshake keys available)

```suggestion
    if (handshake keys available):
```

Unfortunately, this is still incorrect.  As we discussed on https://github.com/quicwg/base-drafts/issues/2519#issuecomment-472671420 there is a requirement to pad any time the client needs to send an Initial packet (it's a little more complicated in practice, but this is what the resolution boils down to). 

>    // Retransmit crypto data if no packets were lost
   // and there are still crypto packets in flight.
-  else if (crypto packets are in flight):
+  if (crypto packets are in flight):
     // Crypto retransmission timeout.
     RetransmitUnackedCryptoData()

I assume that RetransmitUnackedCryptoData() is going to catch any need for padding...

-- 
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/pull/2281#pullrequestreview-220849672

---

From: Benjamin Saunders <[email-masked]>
Date: Sun, 31 Mar 2019 00:10:56 -0700

Ralith commented on this pull request.

If the availability of Handshake keys isn't a strong enough condition for that, what should be used instead? I'd be inclined to just fall back on `SendOnePacket` and let the nontrivial padding logic be implied by the text elsewhere, but that's where we started for this fragment.

-- 
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/pull/2281#discussion_r270652904

---

From: Martin Thomson <[email-masked]>
Date: Sun, 31 Mar 2019 00:13:48 -0700

martinthomson commented on this pull request.

If you need to send an Initial packet, pad.

-- 
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/pull/2281#discussion_r270652977