mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-11-10 21:22:20 +03:00
Implement handshake done and cipher dropping.
Summary: This implements the handshake done signal and also cipher dropping. Reviewed By: yangchi Differential Revision: D19584922 fbshipit-source-id: a98bec8f1076393b051ff65a2d8aae7d572b42f5
This commit is contained in:
committed by
Facebook Github Bot
parent
49d262c84c
commit
472e40a902
@@ -21,7 +21,6 @@ void sendSimpleFrame(QuicConnectionStateBase& conn, QuicSimpleFrame frame) {
|
||||
void updateSimpleFrameOnAck(
|
||||
QuicConnectionStateBase& conn,
|
||||
const QuicSimpleFrame& frame) {
|
||||
// TODO implement.
|
||||
switch (frame.type()) {
|
||||
case QuicSimpleFrame::Type::PingFrame_E: {
|
||||
conn.pendingEvents.cancelPingTimeout = true;
|
||||
@@ -72,6 +71,8 @@ folly::Optional<QuicSimpleFrame> updateSimpleFrameOnPacketClone(
|
||||
case QuicSimpleFrame::Type::RetireConnectionIdFrame_E:
|
||||
// TODO junqiw
|
||||
return QuicSimpleFrame(frame);
|
||||
case QuicSimpleFrame::Type::HandshakeDoneFrame_E:
|
||||
return QuicSimpleFrame(frame);
|
||||
}
|
||||
folly::assume_unreachable();
|
||||
}
|
||||
@@ -144,6 +145,7 @@ void updateSimpleFrameOnPacketLoss(
|
||||
case QuicSimpleFrame::Type::NewConnectionIdFrame_E:
|
||||
case QuicSimpleFrame::Type::MaxStreamsFrame_E:
|
||||
case QuicSimpleFrame::Type::RetireConnectionIdFrame_E:
|
||||
case QuicSimpleFrame::Type::HandshakeDoneFrame_E:
|
||||
conn.pendingEvents.frames.push_back(frame);
|
||||
break;
|
||||
}
|
||||
@@ -289,6 +291,16 @@ bool updateSimpleFrameOnPacketReceived(
|
||||
// TODO junqiw
|
||||
return false;
|
||||
}
|
||||
case QuicSimpleFrame::Type::HandshakeDoneFrame_E: {
|
||||
if (conn.nodeType == QuicNodeType::Server) {
|
||||
throw QuicTransportException(
|
||||
"Received HANDSHAKE_DONE from client.",
|
||||
TransportErrorCode::PROTOCOL_VIOLATION,
|
||||
FrameType::HANDSHAKE_DONE);
|
||||
}
|
||||
handshakeConfirmed(conn);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
folly::assume_unreachable();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user