mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-11-24 04:01:07 +03:00
Buffer packets on the client when we don't have ciphers.
Summary: This can happen when we don't get the server handshake data in time, but it is especially bad with 0RTT when it is potentially a full flight of 1RTT data that is dropped while we wait for the handshake PTO. Note this leverages the existing CipherUnavailable mechanism, but processes them in a much more simple way than the server side. Additionally, only 1-RTT packets need to be buffered. Reviewed By: yangchi, lnicco Differential Revision: D27634184 fbshipit-source-id: db5ba0b9f07176d106f709c7a11d83d0fc8281b7
This commit is contained in:
committed by
Facebook GitHub Bot
parent
b8a37fb740
commit
d9d2d29af6
@@ -57,6 +57,8 @@ std::unique_ptr<QuicClientConnectionState> undoAllClientStateForRetry(
|
||||
std::move(conn->earlyDataAppParamsValidator);
|
||||
newConn->earlyDataAppParamsGetter = std::move(conn->earlyDataAppParamsGetter);
|
||||
newConn->happyEyeballsState = std::move(conn->happyEyeballsState);
|
||||
newConn->pendingOneRttData.reserve(
|
||||
newConn->transportSettings.maxPacketsToBuffer);
|
||||
if (conn->congestionControllerFactory) {
|
||||
newConn->congestionControllerFactory = conn->congestionControllerFactory;
|
||||
if (conn->congestionController) {
|
||||
|
||||
Reference in New Issue
Block a user