ecn_marking.h (1305B)
1 /* 2 * Copyright 2024 The WebRTC Project Authors. All rights reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #ifndef API_TRANSPORT_ECN_MARKING_H_ 12 #define API_TRANSPORT_ECN_MARKING_H_ 13 14 namespace webrtc { 15 16 // TODO: bugs.webrtc.org/42225697 - L4S support is slowly being developed. 17 // Help is appreciated. 18 19 // L4S Explicit Congestion Notification (ECN) . 20 // https://www.rfc-editor.org/rfc/rfc9331.html ECT stands for ECN-Capable 21 // Transport and CE stands for Congestion Experienced. 22 23 // RFC-3168, Section 5 24 // +-----+-----+ 25 // | ECN FIELD | 26 // +-----+-----+ 27 // ECT CE [Obsolete] RFC 2481 names for the ECN bits. 28 // 0 0 Not-ECT 29 // 0 1 ECT(1) 30 // 1 0 ECT(0) 31 // 1 1 CE 32 33 enum class EcnMarking { 34 kNotEct = 0, // Not ECN-Capable Transport 35 kEct1 = 1, // ECN-Capable Transport 36 kEct0 = 2, // Not used by L4s (or webrtc.) 37 kCe = 3, // Congestion experienced 38 }; 39 40 } // namespace webrtc 41 42 #endif // API_TRANSPORT_ECN_MARKING_H_