mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-11-24 04:01:07 +03:00
Implement handshake done
Summary: This is without cipher dropping, but the frame is parseable and the server will send it at the correct time. Reviewed By: yangchi, lnicco Differential Revision: D20235013 fbshipit-source-id: 696c11ec573a530b3ed9f4185a2f6847ee08819f
This commit is contained in:
committed by
Facebook Github Bot
parent
4e1afb80e1
commit
3b2ba3fe8b
@@ -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);
|
||||
}
|
||||
// TODO cipher dropping
|
||||
return true;
|
||||
}
|
||||
}
|
||||
folly::assume_unreachable();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user