mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-11-10 21:22:20 +03:00
T24905463 - [quic][ping] Implement ping in Quic
Summary: Implement ping functionality in ping Reviewed By: yangchi Differential Revision: D17885286 fbshipit-source-id: 4c328d14a023057d6889818250c0129c06e60874
This commit is contained in:
committed by
Facebook Github Bot
parent
dab5e1edb9
commit
e06c0848e0
@@ -17,15 +17,25 @@ void sendSimpleFrame(QuicConnectionStateBase& conn, QuicSimpleFrame frame) {
|
||||
}
|
||||
|
||||
void updateSimpleFrameOnAck(
|
||||
QuicConnectionStateBase& /*conn*/,
|
||||
const QuicSimpleFrame& /*frame*/) {
|
||||
QuicConnectionStateBase& conn,
|
||||
const QuicSimpleFrame& frame) {
|
||||
// TODO implement.
|
||||
switch (frame.type()) {
|
||||
case QuicSimpleFrame::Type::PingFrame_E: {
|
||||
conn.pendingEvents.cancelPingTimeout = true;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
folly::Optional<QuicSimpleFrame> updateSimpleFrameOnPacketClone(
|
||||
QuicConnectionStateBase& conn,
|
||||
const QuicSimpleFrame& frame) {
|
||||
switch (frame.type()) {
|
||||
case QuicSimpleFrame::Type::PingFrame_E:
|
||||
return QuicSimpleFrame(frame);
|
||||
case QuicSimpleFrame::Type::StopSendingFrame_E:
|
||||
if (!conn.streamManager->streamExists(
|
||||
frame.asStopSendingFrame()->streamId)) {
|
||||
@@ -87,6 +97,9 @@ void updateSimpleFrameOnPacketLoss(
|
||||
QuicConnectionStateBase& conn,
|
||||
const QuicSimpleFrame& frame) {
|
||||
switch (frame.type()) {
|
||||
case QuicSimpleFrame::Type::PingFrame_E: {
|
||||
break;
|
||||
}
|
||||
case QuicSimpleFrame::Type::StopSendingFrame_E: {
|
||||
const StopSendingFrame& stopSendingFrame = *frame.asStopSendingFrame();
|
||||
if (conn.streamManager->streamExists(stopSendingFrame.streamId)) {
|
||||
@@ -138,6 +151,9 @@ bool updateSimpleFrameOnPacketReceived(
|
||||
PacketNum packetNum,
|
||||
bool fromChangedPeerAddress) {
|
||||
switch (frame.type()) {
|
||||
case QuicSimpleFrame::Type::PingFrame_E: {
|
||||
return true;
|
||||
}
|
||||
case QuicSimpleFrame::Type::StopSendingFrame_E: {
|
||||
const StopSendingFrame& stopSending = *frame.asStopSendingFrame();
|
||||
auto stream = conn.streamManager->getStream(stopSending.streamId);
|
||||
|
||||
Reference in New Issue
Block a user