Chromium Code Reviews| Index: webrtc/modules/remote_bitrate_estimator/test/packet_sender.h |
| diff --git a/webrtc/modules/remote_bitrate_estimator/test/packet_sender.h b/webrtc/modules/remote_bitrate_estimator/test/packet_sender.h |
| index 2e690c83770c7c6b0c2e9f8b951b957e2319e9bb..c79fc3655aa3463dca58827c997de4ad329405e4 100644 |
| --- a/webrtc/modules/remote_bitrate_estimator/test/packet_sender.h |
| +++ b/webrtc/modules/remote_bitrate_estimator/test/packet_sender.h |
| @@ -40,8 +40,11 @@ class PacketSender : public PacketProcessor { |
| // output of the estimators is sampled and therefore the baseline files may |
| // have to be regenerated. |
| virtual int GetFeedbackIntervalMs() const = 0; |
| + virtual void set_choke_filter(ChokeFilter* choke_filter) {} |
|
stefan-webrtc
2015/07/02 11:03:42
Remove? Why is it needed?
magalhaesc
2015/07/02 17:17:02
Done.
|
| void SetSenderTimestamps(Packets* in_out); |
| + virtual uint32_t TargetBitrateKbps() { return 0; } |
| + |
| protected: |
| SimulatedClock clock_; |
| }; |
| @@ -58,16 +61,22 @@ class VideoSender : public PacketSender, public BitrateObserver { |
| virtual VideoSource* source() const { return source_; } |
| + uint32_t TargetBitrateKbps() override; |
| + |
| // Implements BitrateObserver. |
| void OnNetworkChanged(uint32_t target_bitrate_bps, |
| uint8_t fraction_lost, |
| int64_t rtt) override; |
| + void Pause(); |
| + void Resume(); |
| + |
| protected: |
| void ProcessFeedbackAndGeneratePackets(int64_t time_ms, |
| std::list<FeedbackPacket*>* feedbacks, |
| Packets* generated); |
| + bool running_; |
| VideoSource* source_; |
| rtc::scoped_ptr<BweSender> bwe_; |
| int64_t start_of_run_ms_; |
| @@ -112,21 +121,18 @@ class PacedVideoSender : public VideoSender, public PacedSender::Callback { |
| class TcpSender : public PacketSender { |
| public: |
| - TcpSender(PacketProcessorListener* listener, int flow_id, int64_t offset_ms) |
| - : PacketSender(listener, flow_id), |
| - cwnd_(10), |
| - ssthresh_(std::numeric_limits<int>::max()), |
| - ack_received_(false), |
| - last_acked_seq_num_(0), |
| - next_sequence_number_(0), |
| - offset_ms_(offset_ms), |
| - last_reduction_time_ms_(-1), |
| - last_rtt_ms_(0) {} |
| - |
| + TcpSender(PacketProcessorListener* listener, int flow_id, int64_t offset_ms); |
| + TcpSender(PacketProcessorListener* listener, |
| + int flow_id, |
| + int64_t offset_ms, |
| + int send_limit_bytes); |
| virtual ~TcpSender() {} |
| void RunFor(int64_t time_ms, Packets* in_out) override; |
| int GetFeedbackIntervalMs() const override { return 10; } |
| + void set_choke_filter(ChokeFilter* choke_filter) override; |
| + |
| + uint32_t TargetBitrateKbps() override; |
| private: |
| struct InFlight { |
| @@ -153,6 +159,7 @@ class TcpSender : public PacketSender { |
| int TriggerTimeouts(); |
| void HandleLoss(); |
| Packets GeneratePackets(size_t num_packets); |
| + void UpdateSendBitrateEstimate(size_t num_packets); |
| float cwnd_; |
| int ssthresh_; |
| @@ -163,6 +170,13 @@ class TcpSender : public PacketSender { |
| int64_t offset_ms_; |
| int64_t last_reduction_time_ms_; |
| int64_t last_rtt_ms_; |
| + int total_sent_bytes_; |
| + int send_limit_bytes_; // Initialized by default as kNoLimit. |
| + bool running_; // Initialized by default as true. |
| + ChokeFilter* choke_filter_; |
| + int64_t last_generated_packets_ms_; |
| + size_t num_recent_sent_packets_; |
| + uint32_t bitrate_kbps_; |
| }; |
| } // namespace bwe |
| } // namespace testing |