Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(380)

Side by Side Diff: webrtc/modules/congestion_controller/include/congestion_controller.h

Issue 2235373004: Probing: Add support for exponential startup probing (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@fix_probing2
Patch Set: lint fix Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 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 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 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 12 matching lines...) Expand all
23 #include "webrtc/modules/remote_bitrate_estimator/transport_feedback_adapter.h" 23 #include "webrtc/modules/remote_bitrate_estimator/transport_feedback_adapter.h"
24 24
25 namespace rtc { 25 namespace rtc {
26 struct SentPacket; 26 struct SentPacket;
27 } 27 }
28 28
29 namespace webrtc { 29 namespace webrtc {
30 30
31 class BitrateController; 31 class BitrateController;
32 class Clock; 32 class Clock;
33 class ProbeController;
33 class ProcessThread; 34 class ProcessThread;
34 class RateLimiter; 35 class RateLimiter;
35 class RemoteBitrateEstimator; 36 class RemoteBitrateEstimator;
36 class RemoteBitrateObserver; 37 class RemoteBitrateObserver;
37 class RtcEventLog; 38 class RtcEventLog;
38 class TransportFeedbackObserver; 39 class TransportFeedbackObserver;
39 40
40 class CongestionController : public CallStatsObserver, public Module { 41 class CongestionController : public CallStatsObserver, public Module {
41 public: 42 public:
42 // Observer class for bitrate changes announced due to change in bandwidth 43 // Observer class for bitrate changes announced due to change in bandwidth
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 bool IsNetworkDown() const; 114 bool IsNetworkDown() const;
114 bool HasNetworkParametersToReportChanged(uint32_t bitrate_bps, 115 bool HasNetworkParametersToReportChanged(uint32_t bitrate_bps,
115 uint8_t fraction_loss, 116 uint8_t fraction_loss,
116 int64_t rtt); 117 int64_t rtt);
117 Clock* const clock_; 118 Clock* const clock_;
118 Observer* const observer_; 119 Observer* const observer_;
119 const std::unique_ptr<PacketRouter> packet_router_; 120 const std::unique_ptr<PacketRouter> packet_router_;
120 const std::unique_ptr<PacedSender> pacer_; 121 const std::unique_ptr<PacedSender> pacer_;
121 const std::unique_ptr<RemoteBitrateEstimator> remote_bitrate_estimator_; 122 const std::unique_ptr<RemoteBitrateEstimator> remote_bitrate_estimator_;
122 const std::unique_ptr<BitrateController> bitrate_controller_; 123 const std::unique_ptr<BitrateController> bitrate_controller_;
124 const std::unique_ptr<ProbeController> probe_controller_;
123 const std::unique_ptr<RateLimiter> retransmission_rate_limiter_; 125 const std::unique_ptr<RateLimiter> retransmission_rate_limiter_;
124 RemoteEstimatorProxy remote_estimator_proxy_; 126 RemoteEstimatorProxy remote_estimator_proxy_;
125 TransportFeedbackAdapter transport_feedback_adapter_; 127 TransportFeedbackAdapter transport_feedback_adapter_;
126 int min_bitrate_bps_; 128 int min_bitrate_bps_;
127 int max_bitrate_bps_; 129 int max_bitrate_bps_;
128 bool initial_probing_triggered_;
129 rtc::CriticalSection critsect_; 130 rtc::CriticalSection critsect_;
130 uint32_t last_reported_bitrate_bps_ GUARDED_BY(critsect_); 131 uint32_t last_reported_bitrate_bps_ GUARDED_BY(critsect_);
131 uint8_t last_reported_fraction_loss_ GUARDED_BY(critsect_); 132 uint8_t last_reported_fraction_loss_ GUARDED_BY(critsect_);
132 int64_t last_reported_rtt_ GUARDED_BY(critsect_); 133 int64_t last_reported_rtt_ GUARDED_BY(critsect_);
133 NetworkState network_state_ GUARDED_BY(critsect_); 134 NetworkState network_state_ GUARDED_BY(critsect_);
134 135
135 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(CongestionController); 136 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(CongestionController);
136 }; 137 };
137 138
138 } // namespace webrtc 139 } // namespace webrtc
139 140
140 #endif // WEBRTC_MODULES_CONGESTION_CONTROLLER_INCLUDE_CONGESTION_CONTROLLER_H_ 141 #endif // WEBRTC_MODULES_CONGESTION_CONTROLLER_INCLUDE_CONGESTION_CONTROLLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698