// Copyright (c) 2012 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. // This class is a helper class to TcpCubicSender. // Slow start is the initial startup phase of TCP, it lasts until first packet // loss. This class implements hybrid slow start of the TCP cubic send side // congestion algorithm. The key feaure of hybrid slow start is that it tries to // avoid running into the wall too hard during the slow start phase, which // the traditional TCP implementation does. // This does not implement ack train detection because it interacts poorly with // pacing. // http://netsrv.csc.ncsu.edu/export/hybridstart_pfldnet08.pdf // http://research.csc.ncsu.edu/netsrv/sites/default/files/hystart_techreport_2008.pdf #ifndef QUICHE_QUIC_CORE_CONGESTION_CONTROL_HYBRID_SLOW_START_H_ #define QUICHE_QUIC_CORE_CONGESTION_CONTROL_HYBRID_SLOW_START_H_ #include <cstdint> #include "quiche/quic/core/quic_packets.h" #include "quiche/quic/core/quic_time.h" #include "quiche/quic/platform/api/quic_export.h" namespace quic { class QUICHE_EXPORT HybridSlowStart { … }; } // namespace quic #endif // QUICHE_QUIC_CORE_CONGESTION_CONTROL_HYBRID_SLOW_START_H_