diff --git a/src/core/send.c b/src/core/send.c index c8bd7f9ed6..7564260da8 100644 --- a/src/core/send.c +++ b/src/core/send.c @@ -106,6 +106,10 @@ QuicSendCanSendFlagsNow( { QUIC_CONNECTION* Connection = QuicSendGetConnection(Send); if (Connection->Crypto.TlsState.WriteKey < QUIC_PACKET_KEY_1_RTT) { + if (Connection->Crypto.TlsState.WriteKeys[QUIC_PACKET_KEY_0_RTT] != NULL && + CxPlatListIsEmpty(&Send->SendStreams)) { + return TRUE; + } if ((!Connection->State.Started && !QuicConnIsServer(Connection)) || !(Send->SendFlags & QUIC_CONN_SEND_FLAG_ALLOWED_HANDSHAKE)) { return FALSE; @@ -1091,8 +1095,6 @@ QuicSendFlush( return TRUE; } - CXPLAT_DBG_ASSERT(QuicSendCanSendFlagsNow(Send)); - QUIC_SEND_RESULT Result = QUIC_SEND_INCOMPLETE; QUIC_STREAM* Stream = NULL; uint32_t StreamPacketCount = 0;