// Copyright (c) 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // A send algorithm that adds pacing on top of an another send algorithm. // It uses the underlying sender's pacing rate to schedule packets. // It also takes into consideration the expected granularity of the underlying // alarm to ensure that alarms are not set too aggressively, and err towards // sending packets too early instead of too late. #ifndef QUICHE_QUIC_CORE_CONGESTION_CONTROL_PACING_SENDER_H_ #define QUICHE_QUIC_CORE_CONGESTION_CONTROL_PACING_SENDER_H_ #include <cstdint> #include <map> #include <memory> #include "quiche/quic/core/congestion_control/send_algorithm_interface.h" #include "quiche/quic/core/quic_bandwidth.h" #include "quiche/quic/core/quic_config.h" #include "quiche/quic/core/quic_packets.h" #include "quiche/quic/core/quic_time.h" #include "quiche/quic/platform/api/quic_export.h" namespace quic { namespace test { class QuicSentPacketManagerPeer; } // namespace test class QUICHE_EXPORT PacingSender { … }; } // namespace quic #endif // QUICHE_QUIC_CORE_CONGESTION_CONTROL_PACING_SENDER_H_