| /* |
| * Copyright (c) 2018 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 MODULES_CONGESTION_CONTROLLER_INCLUDE_NETWORK_CHANGED_OBSERVER_H_ |
| #define MODULES_CONGESTION_CONTROLLER_INCLUDE_NETWORK_CHANGED_OBSERVER_H_ |
| |
| #include <stdint.h> |
| |
| namespace webrtc { |
| |
| // Note: This interface will be deprecated in favor of the |
| // TargetTransferRateObserver interface. The new interface provides more |
| // information about the network connection and uses structs to make it easier |
| // to add fields. |
| |
| // Observer class for bitrate changes announced due to change in bandwidth |
| // estimate or due to that the send pacer is full. Fraction loss and rtt is |
| // also part of this callback to allow the observer to optimize its settings |
| // for different types of network environments. The bitrate does not include |
| // packet headers and is measured in bits per second. |
| // TODO(srte): Deprecate and remove this class when SendSideCongestionController |
| // is no longer using this as part of our public API. |
| class NetworkChangedObserver { |
| public: |
| virtual void OnNetworkChanged(uint32_t bitrate_bps, |
| uint8_t fraction_loss, // 0 - 255. |
| int64_t rtt_ms, |
| int64_t probing_interval_ms) = 0; |
| |
| protected: |
| virtual ~NetworkChangedObserver() {} |
| }; |
| } // namespace webrtc |
| #endif // MODULES_CONGESTION_CONTROLLER_INCLUDE_NETWORK_CHANGED_OBSERVER_H_ |