1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-11-25 15:43:13 +03:00
Files
mvfst/quic/logging/test/Mocks.h
Riten Gupta 5f74df10b6 Add network path model update events to qlog
Summary: Several "Network Path Model" parameters are described in Sec. 2.9 of the BBRv2 IETF draft. These quantities evolve throughout the connection and they are useful to analyze BBRv2 performance. This diff adds inflight_hi, inflight_lo, bandwidth_hi, and bandwidth_lo to the qlog.

Reviewed By: mjoras

Differential Revision: D61414936

fbshipit-source-id: 2862db2a6aab336fd8a60e4ae5b358e9ab5588b4
2024-08-26 14:07:23 -07:00

84 lines
2.9 KiB
C++

/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#pragma once
#include <folly/portability/GMock.h>
#include <quic/logging/QLogger.h>
namespace quic::test {
class MockQLogger : public QLogger {
public:
MockQLogger() = delete;
MockQLogger(VantagePoint vp) : QLogger(vp, kHTTP3ProtocolType) {}
~MockQLogger() override = default;
MOCK_METHOD(void, addPacket, (const RegularQuicPacket&, uint64_t));
MOCK_METHOD(
void,
addPacket,
(const VersionNegotiationPacket&, uint64_t, bool));
MOCK_METHOD(void, addPacket, (const RetryPacket&, uint64_t, bool));
MOCK_METHOD(void, addPacket, (const RegularQuicWritePacket&, uint64_t));
MOCK_METHOD(void, addConnectionClose, (std::string, std::string, bool, bool));
MOCK_METHOD(void, addTransportSummary, (const TransportSummaryArgs&));
MOCK_METHOD(
void,
addCongestionMetricUpdate,
(uint64_t, uint64_t, std::string, std::string, std::string));
MOCK_METHOD(
void,
addPacingMetricUpdate,
(uint64_t, std::chrono::microseconds));
MOCK_METHOD(
void,
addPacingObservation,
(std::string, std::string, std::string));
MOCK_METHOD(void, addAppIdleUpdate, (std::string, bool));
MOCK_METHOD(void, addPacketDrop, (size_t, std::string));
MOCK_METHOD(void, addDatagramReceived, (uint64_t));
MOCK_METHOD(void, addLossAlarm, (PacketNum, uint64_t, uint64_t, std::string));
MOCK_METHOD(void, addPacketsLost, (PacketNum, uint64_t, uint64_t));
MOCK_METHOD(void, addTransportStateUpdate, (std::string));
MOCK_METHOD(void, addPacketBuffered, (ProtectionType, uint64_t));
MOCK_METHOD(
void,
addMetricUpdate,
(std::chrono::microseconds,
std::chrono::microseconds,
std::chrono::microseconds,
std::chrono::microseconds));
MOCK_METHOD(
void,
addStreamStateUpdate,
(quic::StreamId, std::string, Optional<std::chrono::milliseconds>));
MOCK_METHOD(
void,
addBandwidthEstUpdate,
(uint64_t, std::chrono::microseconds));
MOCK_METHOD(void, addAppLimitedUpdate, ());
MOCK_METHOD(void, addAppUnlimitedUpdate, ());
MOCK_METHOD(void, addConnectionMigrationUpdate, (bool));
MOCK_METHOD(void, addPathValidationEvent, (bool));
MOCK_METHOD(void, setDcid, (Optional<ConnectionId>));
MOCK_METHOD(void, setScid, (Optional<ConnectionId>));
MOCK_METHOD(void, addPriorityUpdate, (quic::StreamId, uint8_t, bool));
MOCK_METHOD(
void,
addL4sWeightUpdate,
(double l4sWeight, uint32_t newEct1, uint32_t newCe));
MOCK_METHOD(
void,
addNetworkPathModelUpdate,
(uint64_t inflightHi,
uint64_t inflightLo,
uint64_t bandwidthHiBytes,
std::chrono::microseconds bandwidthHiInterval,
uint64_t bandwidthLoBytes,
std::chrono::microseconds bandwidthLoInterval));
};
} // namespace quic::test