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

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

Issue 2918323002: Add functionality which limits the number of bytes on the network. (Closed)
Patch Set: . Created 3 years, 5 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 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 std::vector<PacketFeedback> GetTransportFeedbackVector() const override; 129 std::vector<PacketFeedback> GetTransportFeedbackVector() const override;
130 130
131 private: 131 private:
132 void MaybeTriggerOnNetworkChanged(); 132 void MaybeTriggerOnNetworkChanged();
133 133
134 bool IsSendQueueFull() const; 134 bool IsSendQueueFull() const;
135 bool IsNetworkDown() const; 135 bool IsNetworkDown() const;
136 bool HasNetworkParametersToReportChanged(uint32_t bitrate_bps, 136 bool HasNetworkParametersToReportChanged(uint32_t bitrate_bps,
137 uint8_t fraction_loss, 137 uint8_t fraction_loss,
138 int64_t rtt); 138 int64_t rtt);
139 void LimitOutstandingBytes(size_t num_outstanding_bytes);
139 const Clock* const clock_; 140 const Clock* const clock_;
140 rtc::CriticalSection observer_lock_; 141 rtc::CriticalSection observer_lock_;
141 Observer* observer_ GUARDED_BY(observer_lock_); 142 Observer* observer_ GUARDED_BY(observer_lock_);
142 RtcEventLog* const event_log_; 143 RtcEventLog* const event_log_;
143 const std::unique_ptr<PacedSender> pacer_; 144 const std::unique_ptr<PacedSender> pacer_;
144 const std::unique_ptr<BitrateController> bitrate_controller_; 145 const std::unique_ptr<BitrateController> bitrate_controller_;
145 std::unique_ptr<AcknowledgedBitrateEstimator> acknowledged_bitrate_estimator_; 146 std::unique_ptr<AcknowledgedBitrateEstimator> acknowledged_bitrate_estimator_;
146 const std::unique_ptr<ProbeController> probe_controller_; 147 const std::unique_ptr<ProbeController> probe_controller_;
147 const std::unique_ptr<RateLimiter> retransmission_rate_limiter_; 148 const std::unique_ptr<RateLimiter> retransmission_rate_limiter_;
148 TransportFeedbackAdapter transport_feedback_adapter_; 149 TransportFeedbackAdapter transport_feedback_adapter_;
149 rtc::CriticalSection network_state_lock_; 150 rtc::CriticalSection network_state_lock_;
150 uint32_t last_reported_bitrate_bps_ GUARDED_BY(network_state_lock_); 151 uint32_t last_reported_bitrate_bps_ GUARDED_BY(network_state_lock_);
151 uint8_t last_reported_fraction_loss_ GUARDED_BY(network_state_lock_); 152 uint8_t last_reported_fraction_loss_ GUARDED_BY(network_state_lock_);
152 int64_t last_reported_rtt_ GUARDED_BY(network_state_lock_); 153 int64_t last_reported_rtt_ GUARDED_BY(network_state_lock_);
153 NetworkState network_state_ GUARDED_BY(network_state_lock_); 154 NetworkState network_state_ GUARDED_BY(network_state_lock_);
155 bool pause_pacer_ GUARDED_BY(network_state_lock_);
156 bool pacer_paused_;
154 rtc::CriticalSection bwe_lock_; 157 rtc::CriticalSection bwe_lock_;
155 int min_bitrate_bps_ GUARDED_BY(bwe_lock_); 158 int min_bitrate_bps_ GUARDED_BY(bwe_lock_);
156 std::unique_ptr<DelayBasedBwe> delay_based_bwe_ GUARDED_BY(bwe_lock_); 159 std::unique_ptr<DelayBasedBwe> delay_based_bwe_ GUARDED_BY(bwe_lock_);
160 const bool in_cwnd_experiment_;
157 161
158 rtc::RaceChecker worker_race_; 162 rtc::RaceChecker worker_race_;
159 163
160 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(SendSideCongestionController); 164 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(SendSideCongestionController);
161 }; 165 };
162 166
163 } // namespace webrtc 167 } // namespace webrtc
164 168
165 #endif // WEBRTC_MODULES_CONGESTION_CONTROLLER_INCLUDE_SEND_SIDE_CONGESTION_CON TROLLER_H_ 169 #endif // WEBRTC_MODULES_CONGESTION_CONTROLLER_INCLUDE_SEND_SIDE_CONGESTION_CON TROLLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698