// Copyright 2023 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_WEB_TRANSPORT_WEB_TRANSPORT_PRIORITY_SCHEDULER_H_ #define QUICHE_WEB_TRANSPORT_WEB_TRANSPORT_PRIORITY_SCHEDULER_H_ #include <cstddef> #include <optional> #include <utility> #include "absl/container/flat_hash_map.h" #include "absl/container/node_hash_map.h" #include "absl/status/status.h" #include "absl/status/statusor.h" #include "quiche/common/btree_scheduler.h" #include "quiche/common/platform/api/quiche_export.h" #include "quiche/web_transport/web_transport.h" namespace webtransport { // Schedules the streams within a WebTransport session as defined by the W3C // WebTransport API. Unlike the W3C API, there is no need to track groups // manually: the group is created when a first stream with the associated group // ID is registered, and it is deleted when the last stream associated with the // group is unregistered. class QUICHE_EXPORT PriorityScheduler { … }; } // namespace webtransport #endif // QUICHE_WEB_TRANSPORT_WEB_TRANSPORT_PRIORITY_SCHEDULER_H_