gfe-relnote: Use HandshakerDelegateInterface in QUIC handshakers. Abstract keys installation, keys discarding, default encryption level change and mark handshake complete to HandshakerDelegateInterface. Protected by gfe2_reloadable_flag_quic_use_handshaker_delegate.
The final goal is remove session pointer from handshakers.
PiperOrigin-RevId: 282826263
Change-Id: I9b379ccfcebd174df1850f7df45069d388460173
diff --git a/quic/core/quic_connection.h b/quic/core/quic_connection.h
index 55173cc..a99f401 100644
--- a/quic/core/quic_connection.h
+++ b/quic/core/quic_connection.h
@@ -165,6 +165,9 @@
// Called when a STOP_SENDING frame has been received.
virtual void OnStopSendingFrame(const QuicStopSendingFrame& frame) = 0;
+
+ // Called when a packet of encryption |level| has been successfully decrypted.
+ virtual void OnPacketDecrypted(EncryptionLevel level) = 0;
};
// Interface which gets callbacks from the QuicConnection at interesting
@@ -902,6 +905,8 @@
return quic_version_negotiated_by_default_at_server_;
}
+ bool use_handshake_delegate() const { return use_handshake_delegate_; }
+
protected:
// Calls cancel() on all the alarms owned by this connection.
void CancelAllAlarms();
@@ -1535,6 +1540,9 @@
// Latched value of quic_version_negotiated_by_default_at_server.
const bool quic_version_negotiated_by_default_at_server_;
+
+ // Latched value of quic_use_handshaker_delegate.
+ const bool use_handshake_delegate_;
};
} // namespace quic