1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-11-10 21:22:20 +03:00

Add datagramReceived event

Summary: Add datagramReceived event for qlog.

Reviewed By: sharma95

Differential Revision: D16271876

fbshipit-source-id: fa38bc0c54f402be45dfc0ff8e85c54268118ea1
This commit is contained in:
Bonnie Xu
2019-07-17 23:52:37 -07:00
committed by Facebook Github Bot
parent ded2044f39
commit e04bff7b85
2 changed files with 12 additions and 0 deletions

View File

@@ -1019,6 +1019,9 @@ void QuicClientTransport::onDataAvailable(
} }
data->append(len); data->append(len);
QUIC_TRACE(udp_recvd, *conn_, (uint64_t)len); QUIC_TRACE(udp_recvd, *conn_, (uint64_t)len);
if (conn_->qLogger) {
conn_->qLogger->addDatagramReceived(len);
}
NetworkData networkData(std::move(data), packetReceiveTime); NetworkData networkData(std::move(data), packetReceiveTime);
onNetworkData(server, std::move(networkData)); onNetworkData(server, std::move(networkData));
} }

View File

@@ -4609,6 +4609,8 @@ TEST_F(QuicProcessDataTest, ProcessDataWithGarbageAtEnd) {
} }
TEST_F(QuicProcessDataTest, ProcessDataHeaderOnly) { TEST_F(QuicProcessDataTest, ProcessDataHeaderOnly) {
auto qLogger = std::make_shared<FileQLogger>();
client->getNonConstConn().qLogger = qLogger;
auto serverHello = IOBuf::copyBuffer("Fake SHLO"); auto serverHello = IOBuf::copyBuffer("Fake SHLO");
PacketNum nextPacketNum = initialPacketNum++; PacketNum nextPacketNum = initialPacketNum++;
auto& aead = getInitialCipher(); auto& aead = getInitialCipher();
@@ -4629,6 +4631,13 @@ TEST_F(QuicProcessDataTest, ProcessDataHeaderOnly) {
getAckState(client->getConn(), PacketNumberSpace::Handshake) getAckState(client->getConn(), PacketNumberSpace::Handshake)
.largestReceivedPacketNum, .largestReceivedPacketNum,
largestReceivedPacketNum); largestReceivedPacketNum);
std::vector<int> indices =
getQLogEventIndices(QLogEventType::DatagramReceived, qLogger);
EXPECT_EQ(indices.size(), 1);
auto tmp = std::move(qLogger->logs[indices[0]]);
auto event = dynamic_cast<QLogDatagramReceivedEvent*>(tmp.get());
EXPECT_EQ(event->dataLen, 26);
} }
TEST(AsyncUDPSocketTest, CloseMultipleTimes) { TEST(AsyncUDPSocketTest, CloseMultipleTimes) {