// Copyright (c) 2022 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. #ifndef QUICHE_QUIC_CORE_QUIC_PING_MANAGER_H_ #define QUICHE_QUIC_CORE_QUIC_PING_MANAGER_H_ #include "quiche/quic/core/quic_alarm.h" #include "quiche/quic/core/quic_alarm_factory.h" #include "quiche/quic/core/quic_constants.h" #include "quiche/quic/core/quic_one_block_arena.h" #include "quiche/quic/core/quic_time.h" #include "quiche/quic/platform/api/quic_export.h" namespace quic { namespace test { class QuicConnectionPeer; class QuicPingManagerPeer; } // namespace test // QuicPingManager manages an alarm that has two modes: // 1) keep-alive. When alarm fires, send packet to extend idle timeout to keep // connection alive. // 2) retransmittable-on-wire. When alarm fires, send packets to detect path // degrading (used in IP/port migrations). class QUICHE_EXPORT QuicPingManager { … }; } // namespace quic #endif // QUICHE_QUIC_CORE_QUIC_PING_MANAGER_H_