/* * Copyright 2024 The WebRTC Project Authors. All rights reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #ifndef API_TRANSPORT_ECN_MARKING_H_ #define API_TRANSPORT_ECN_MARKING_H_ namespace webrtc { // TODO: bugs.webrtc.org/42225697 - L4S support is slowly being developed. // Help is appreciated. // L4S Explicit Congestion Notification (ECN) . // https://www.rfc-editor.org/rfc/rfc9331.html ECT stands for ECN-Capable // Transport and CE stands for Congestion Experienced. // RFC-3168, Section 5 // +-----+-----+ // | ECN FIELD | // +-----+-----+ // ECT CE [Obsolete] RFC 2481 names for the ECN bits. // 0 0 Not-ECT // 0 1 ECT(1) // 1 0 ECT(0) // 1 1 CE enum class EcnMarking { kNotEct = 0, // Not ECN-Capable Transport kEct1 = 1, // ECN-Capable Transport kEct0 = 2, // Not used by L4s (or webrtc.) kCe = 3, // Congestion experienced }; } // namespace webrtc #endif // API_TRANSPORT_ECN_MARKING_H_