Moves PostUpdates from SSCC to ControlHandler.

This moves the PostUpdates function from SendSideCongestionController
to the ControlHandler class.

Bug: None
Change-Id: I4000484a1df9d5fae02573196153c24f4f940219
Reviewed-on: https://webrtc-review.googlesource.com/70223
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22987}
diff --git a/modules/congestion_controller/rtp/include/send_side_congestion_controller.h b/modules/congestion_controller/rtp/include/send_side_congestion_controller.h
index 835711c..a352cec 100644
--- a/modules/congestion_controller/rtp/include/send_side_congestion_controller.h
+++ b/modules/congestion_controller/rtp/include/send_side_congestion_controller.h
@@ -163,8 +163,6 @@
                                           int64_t now_ms)
       RTC_RUN_ON(task_queue_ptr_);
 
-  void PostUpdates(NetworkControlUpdate update) RTC_RUN_ON(task_queue_ptr_);
-
   const Clock* const clock_;
   // PacedSender is thread safe and doesn't need protection here.
   PacedSender* const pacer_;
diff --git a/modules/congestion_controller/rtp/send_side_congestion_controller.cc b/modules/congestion_controller/rtp/send_side_congestion_controller.cc
index d0e13f3..7a905d1 100644
--- a/modules/congestion_controller/rtp/send_side_congestion_controller.cc
+++ b/modules/congestion_controller/rtp/send_side_congestion_controller.cc
@@ -163,10 +163,7 @@
                  PacerController* pacer_controller,
                  const Clock* clock);
 
-  void OnCongestionWindow(CongestionWindow window);
-  void OnPacerConfig(PacerConfig config);
-  void OnProbeClusterConfig(ProbeClusterConfig config);
-  void OnTargetTransferRate(TargetTransferRate target_rate);
+  void PostUpdates(NetworkControlUpdate update);
 
   void OnNetworkAvailability(NetworkAvailability msg);
   void OnPacerQueueUpdate(PacerQueueUpdate msg);
@@ -207,25 +204,21 @@
   sequenced_checker_.Detach();
 }
 
-void ControlHandler::OnCongestionWindow(CongestionWindow window) {
+void ControlHandler::PostUpdates(NetworkControlUpdate update) {
   RTC_DCHECK_CALLED_SEQUENTIALLY(&sequenced_checker_);
-  pacer_controller_->OnCongestionWindow(window);
-}
-
-void ControlHandler::OnPacerConfig(PacerConfig config) {
-  RTC_DCHECK_CALLED_SEQUENTIALLY(&sequenced_checker_);
-  pacer_controller_->OnPacerConfig(config);
-}
-
-void ControlHandler::OnProbeClusterConfig(ProbeClusterConfig config) {
-  RTC_DCHECK_CALLED_SEQUENTIALLY(&sequenced_checker_);
-  pacer_controller_->OnProbeClusterConfig(config);
-}
-
-void ControlHandler::OnTargetTransferRate(TargetTransferRate target_rate) {
-  RTC_DCHECK_CALLED_SEQUENTIALLY(&sequenced_checker_);
-  current_target_rate_msg_ = target_rate;
-  OnNetworkInvalidation();
+  if (update.congestion_window) {
+    pacer_controller_->OnCongestionWindow(*update.congestion_window);
+  }
+  if (update.pacer_config) {
+    pacer_controller_->OnPacerConfig(*update.pacer_config);
+  }
+  for (const auto& probe : update.probe_cluster_configs) {
+    pacer_controller_->OnProbeClusterConfig(probe);
+  }
+  if (update.target_rate) {
+    current_target_rate_msg_ = *update.target_rate;
+    OnNetworkInvalidation();
+  }
 }
 
 void ControlHandler::OnNetworkAvailability(NetworkAvailability msg) {
@@ -423,7 +416,8 @@
   task_queue_->PostTask([this, constraints, start_bitrate_bps]() {
     RTC_DCHECK_RUN_ON(task_queue_ptr_);
     if (controller_) {
-      PostUpdates(controller_->OnTargetRateConstraints(constraints));
+      control_handler_->PostUpdates(
+          controller_->OnTargetRateConstraints(constraints));
     } else {
       initial_config_.constraints = constraints;
       if (start_bitrate_bps > 0)
@@ -467,7 +461,7 @@
   task_queue_->PostTask([this, msg]() {
     RTC_DCHECK_RUN_ON(task_queue_ptr_);
     if (controller_) {
-      PostUpdates(controller_->OnNetworkRouteChange(msg));
+      control_handler_->PostUpdates(controller_->OnNetworkRouteChange(msg));
     } else {
       initial_config_.starting_bandwidth = msg.starting_rate;
       initial_config_.constraints = msg.constraints;
@@ -521,7 +515,8 @@
 void SendSideCongestionController::UpdateStreamsConfig() {
   streams_config_.at_time = Timestamp::ms(clock_->TimeInMilliseconds());
   if (controller_)
-    PostUpdates(controller_->OnStreamsConfig(streams_config_));
+    control_handler_->PostUpdates(
+        controller_->OnStreamsConfig(streams_config_));
 }
 
 TransportFeedbackObserver*
@@ -539,7 +534,7 @@
     RTC_DCHECK_RUN_ON(task_queue_ptr_);
     network_available_ = msg.network_available;
     if (controller_) {
-      PostUpdates(controller_->OnNetworkAvailability(msg));
+      control_handler_->PostUpdates(controller_->OnNetworkAvailability(msg));
       pacer_controller_->OnNetworkAvailability(msg);
       control_handler_->OnNetworkAvailability(msg);
     } else {
@@ -565,7 +560,7 @@
     task_queue_->PostTask([this, msg]() {
       RTC_DCHECK_RUN_ON(task_queue_ptr_);
       if (controller_)
-        PostUpdates(controller_->OnSentPacket(msg));
+        control_handler_->PostUpdates(controller_->OnSentPacket(msg));
     });
   }
 }
@@ -580,7 +575,7 @@
   task_queue_->PostTask([this, report]() {
     RTC_DCHECK_RUN_ON(task_queue_ptr_);
     if (controller_)
-      PostUpdates(controller_->OnRoundTripTimeUpdate(report));
+      control_handler_->PostUpdates(controller_->OnRoundTripTimeUpdate(report));
   });
 }
 
@@ -625,7 +620,7 @@
   if (controller_) {
     ProcessInterval msg;
     msg.at_time = Timestamp::ms(clock_->TimeInMilliseconds());
-    PostUpdates(controller_->OnProcessInterval(msg));
+    control_handler_->PostUpdates(controller_->OnProcessInterval(msg));
   }
 }
 
@@ -673,7 +668,8 @@
     task_queue_->PostTask([this, msg]() {
       RTC_DCHECK_RUN_ON(task_queue_ptr_);
       if (controller_)
-        PostUpdates(controller_->OnTransportPacketsFeedback(msg));
+        control_handler_->PostUpdates(
+            controller_->OnTransportPacketsFeedback(msg));
     });
   }
 }
@@ -688,17 +684,6 @@
   });
 }
 
-void SendSideCongestionController::PostUpdates(NetworkControlUpdate update) {
-  if (update.congestion_window)
-    control_handler_->OnCongestionWindow(*update.congestion_window);
-  if (update.pacer_config)
-    control_handler_->OnPacerConfig(*update.pacer_config);
-  for (const auto& probe : update.probe_cluster_configs)
-    control_handler_->OnProbeClusterConfig(probe);
-  if (update.target_rate)
-    control_handler_->OnTargetTransferRate(*update.target_rate);
-}
-
 std::vector<PacketFeedback>
 SendSideCongestionController::GetTransportFeedbackVector() const {
   RTC_DCHECK_RUNS_SERIALIZED(&worker_race_);
@@ -742,7 +727,7 @@
   task_queue_->PostTask([this, msg]() {
     RTC_DCHECK_RUN_ON(task_queue_ptr_);
     if (controller_)
-      PostUpdates(controller_->OnRemoteBitrateReport(msg));
+      control_handler_->PostUpdates(controller_->OnRemoteBitrateReport(msg));
   });
 }
 
@@ -762,7 +747,7 @@
     report.round_trip_time = TimeDelta::ms(rtt_ms);
     report.smoothed = false;
     if (controller_)
-      PostUpdates(controller_->OnRoundTripTimeUpdate(report));
+      control_handler_->PostUpdates(controller_->OnRoundTripTimeUpdate(report));
   });
 }
 
@@ -806,7 +791,7 @@
   msg.start_time = last_report_block_time_;
   msg.end_time = now;
   if (controller_)
-    PostUpdates(controller_->OnTransportLossReport(msg));
+    control_handler_->PostUpdates(controller_->OnTransportLossReport(msg));
   last_report_block_time_ = now;
 }
 }  // namespace webrtc_cc