quic/congestion_control/ServerCongestionControllerFactory.h (11 lines of code) (raw):

/* * 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 <quic/congestion_control/CongestionControllerFactory.h> namespace quic { /** * Interface to create CongestionController instances on *server*-side * applications only. * * This interface allows for the use of some algorithms that should not be used * on client applications, such as CCP. The separation prevents client * applications from depending upon these unused algorithm implementations. * * To use this interface instead of the default, pass a new instance of this * class to QuicServer::setCongestionControllerFactory. */ class ServerCongestionControllerFactory : public CongestionControllerFactory { public: ~ServerCongestionControllerFactory() override = default; std::unique_ptr<CongestionController> makeCongestionController( QuicConnectionStateBase& conn, CongestionControlType type) override; }; } // namespace quic