quic/server/QuicCcpThreadLauncher.h (25 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 #ifdef CCP_ENABLED #include <quic/congestion_control/third_party/ccp/libstartccp.h> #endif #include <folly/Random.h> #include <folly/io/async/ScopedEventBaseThread.h> #include <cstdint> #include <string> namespace quic { class QuicCcpThreadLauncher { public: QuicCcpThreadLauncher() { ccpId_ = 0; } void start(const std::string& ccpConfig); bool hasLaunched(); uint64_t getCcpId(); void stop(); private: #ifdef CCP_ENABLED folly::ScopedEventBaseThread ccpEvb_; #endif uint64_t ccpId_; }; } // namespace quic