pc: move PeerConnectionInterface implementation to the right file

Bug: None
Change-Id: I49c585b88b1953862b4936c7700f066559a39735
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/468680
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47619}
diff --git a/api/peer_connection_interface.cc b/api/peer_connection_interface.cc
index d656695..a994e3c 100644
--- a/api/peer_connection_interface.cc
+++ b/api/peer_connection_interface.cc
@@ -10,11 +10,20 @@
 
 #include "api/peer_connection_interface.h"
 
+#include <optional>
+#include <string>
 #include <vector>
 
-#include "api/candidate.h"
+#include "api/crypto/crypto_options.h"
+#include "api/scoped_refptr.h"
+#include "api/transport/enums.h"
+#include "api/turn_customizer.h"
+#include "api/units/time_delta.h"
+#include "media/base/media_config.h"
 #include "pc/media_factory.h"
-#include "rtc_base/checks.h"
+#include "rtc_base/network.h"
+#include "rtc_base/network_constants.h"
+#include "rtc_base/rtc_certificate.h"
 
 namespace webrtc {
 
@@ -63,4 +72,127 @@
 PeerConnectionFactoryDependencies::~PeerConnectionFactoryDependencies() =
     default;
 
+bool PeerConnectionInterface::RTCConfiguration::operator==(
+    const PeerConnectionInterface::RTCConfiguration& o) const {
+  // This static_assert prevents us from accidentally breaking operator==.
+  // Note: Order matters! Fields must be ordered the same as RTCConfiguration.
+  struct stuff_being_tested_for_equality {
+    IceServers servers;
+    IceTransportsType type;
+    BundlePolicy bundle_policy;
+    RtcpMuxPolicy rtcp_mux_policy;
+    std::vector<scoped_refptr<RTCCertificate>> certificates;
+    int ice_candidate_pool_size;
+    bool disable_ipv6_on_wifi;
+    int max_ipv6_networks;
+    bool disable_link_local_networks;
+    std::optional<int> screencast_min_bitrate;
+    TcpCandidatePolicy tcp_candidate_policy;
+    CandidateNetworkPolicy candidate_network_policy;
+    int audio_jitter_buffer_max_packets;
+    bool audio_jitter_buffer_fast_accelerate;
+    int audio_jitter_buffer_min_delay_ms;
+    int ice_connection_receiving_timeout;
+    int ice_backup_candidate_pair_ping_interval;
+    ContinualGatheringPolicy continual_gathering_policy;
+    bool prioritize_most_likely_ice_candidate_pairs;
+    struct MediaConfig media_config;
+    bool prune_turn_ports;
+    PortPrunePolicy turn_port_prune_policy;
+    bool presume_writable_when_fully_relayed;
+    bool enable_ice_renomination;
+    bool redetermine_role_on_ice_restart;
+    bool surface_ice_candidates_on_ice_transport_type_changed;
+    std::optional<int> ice_check_interval_strong_connectivity;
+    std::optional<int> ice_check_interval_weak_connectivity;
+    std::optional<int> ice_check_min_interval;
+    std::optional<int> ice_unwritable_timeout;
+    std::optional<int> ice_unwritable_min_checks;
+    std::optional<int> ice_inactive_timeout;
+    std::optional<int> stun_candidate_keepalive_interval;
+    TurnCustomizer* turn_customizer;
+    SdpSemantics sdp_semantics;
+    std::optional<AdapterType> network_preference;
+    CryptoOptions crypto_options;
+    bool offer_extmap_allow_mixed;
+    std::string turn_logging_id;
+    bool enable_implicit_rollback;
+    std::optional<int> report_usage_pattern_delay_ms;
+    std::optional<int> stable_writable_connection_ping_interval_ms;
+    VpnPreference vpn_preference;
+    std::vector<NetworkMask> vpn_list;
+    PortAllocatorConfig port_allocator_config;
+    std::optional<TimeDelta> pacer_burst_interval;
+    bool always_negotiate_data_channels;
+    int max_sctp_streams;
+  };
+  static_assert(sizeof(stuff_being_tested_for_equality) == sizeof(*this),
+                "Did you add something to RTCConfiguration and forget to "
+                "update operator==?");
+  return type == o.type && servers == o.servers &&
+         bundle_policy == o.bundle_policy &&
+         rtcp_mux_policy == o.rtcp_mux_policy &&
+         tcp_candidate_policy == o.tcp_candidate_policy &&
+         candidate_network_policy == o.candidate_network_policy &&
+         audio_jitter_buffer_max_packets == o.audio_jitter_buffer_max_packets &&
+         audio_jitter_buffer_fast_accelerate ==
+             o.audio_jitter_buffer_fast_accelerate &&
+         audio_jitter_buffer_min_delay_ms ==
+             o.audio_jitter_buffer_min_delay_ms &&
+         ice_connection_receiving_timeout ==
+             o.ice_connection_receiving_timeout &&
+         ice_backup_candidate_pair_ping_interval ==
+             o.ice_backup_candidate_pair_ping_interval &&
+         continual_gathering_policy == o.continual_gathering_policy &&
+         certificates == o.certificates &&
+         prioritize_most_likely_ice_candidate_pairs ==
+             o.prioritize_most_likely_ice_candidate_pairs &&
+         media_config == o.media_config &&
+         disable_ipv6_on_wifi == o.disable_ipv6_on_wifi &&
+         max_ipv6_networks == o.max_ipv6_networks &&
+         disable_link_local_networks == o.disable_link_local_networks &&
+         screencast_min_bitrate == o.screencast_min_bitrate &&
+         ice_candidate_pool_size == o.ice_candidate_pool_size &&
+         prune_turn_ports == o.prune_turn_ports &&
+         turn_port_prune_policy == o.turn_port_prune_policy &&
+         presume_writable_when_fully_relayed ==
+             o.presume_writable_when_fully_relayed &&
+         enable_ice_renomination == o.enable_ice_renomination &&
+         redetermine_role_on_ice_restart == o.redetermine_role_on_ice_restart &&
+         surface_ice_candidates_on_ice_transport_type_changed ==
+             o.surface_ice_candidates_on_ice_transport_type_changed &&
+         ice_check_interval_strong_connectivity ==
+             o.ice_check_interval_strong_connectivity &&
+         ice_check_interval_weak_connectivity ==
+             o.ice_check_interval_weak_connectivity &&
+         ice_check_min_interval == o.ice_check_min_interval &&
+         ice_unwritable_timeout == o.ice_unwritable_timeout &&
+         ice_unwritable_min_checks == o.ice_unwritable_min_checks &&
+         ice_inactive_timeout == o.ice_inactive_timeout &&
+         stun_candidate_keepalive_interval ==
+             o.stun_candidate_keepalive_interval &&
+         turn_customizer == o.turn_customizer &&
+         sdp_semantics == o.sdp_semantics &&
+         network_preference == o.network_preference &&
+         crypto_options == o.crypto_options &&
+         offer_extmap_allow_mixed == o.offer_extmap_allow_mixed &&
+         turn_logging_id == o.turn_logging_id &&
+         enable_implicit_rollback == o.enable_implicit_rollback &&
+         report_usage_pattern_delay_ms == o.report_usage_pattern_delay_ms &&
+         stable_writable_connection_ping_interval_ms ==
+             o.stable_writable_connection_ping_interval_ms &&
+         vpn_preference == o.vpn_preference && vpn_list == o.vpn_list &&
+         port_allocator_config.min_port == o.port_allocator_config.min_port &&
+         port_allocator_config.max_port == o.port_allocator_config.max_port &&
+         port_allocator_config.flags == o.port_allocator_config.flags &&
+         pacer_burst_interval == o.pacer_burst_interval &&
+         always_negotiate_data_channels == o.always_negotiate_data_channels &&
+         max_sctp_streams == o.max_sctp_streams;
+}
+
+bool PeerConnectionInterface::RTCConfiguration::operator!=(
+    const PeerConnectionInterface::RTCConfiguration& o) const {
+  return !(*this == o);
+}
+
 }  // namespace webrtc
diff --git a/pc/peer_connection.cc b/pc/peer_connection.cc
index a57b653..ca22054 100644
--- a/pc/peer_connection.cc
+++ b/pc/peer_connection.cc
@@ -63,13 +63,11 @@
 #include "api/transport/enums.h"
 #include "api/turn_customizer.h"
 #include "api/uma_metrics.h"
-#include "api/units/time_delta.h"
 #include "api/video/video_codec_constants.h"
 #include "call/audio_state.h"
 #include "call/packet_receiver.h"
 #include "call/payload_type.h"
 #include "media/base/codec.h"
-#include "media/base/media_config.h"
 #include "media/base/media_engine.h"
 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
@@ -115,7 +113,6 @@
 #include "rtc_base/logging.h"
 #include "rtc_base/net_helper.h"
 #include "rtc_base/net_helpers.h"
-#include "rtc_base/network.h"
 #include "rtc_base/network_constants.h"
 #include "rtc_base/rtc_certificate.h"
 #include "rtc_base/socket_address.h"
@@ -429,129 +426,6 @@
 
 }  // namespace
 
-bool PeerConnectionInterface::RTCConfiguration::operator==(
-    const PeerConnectionInterface::RTCConfiguration& o) const {
-  // This static_assert prevents us from accidentally breaking operator==.
-  // Note: Order matters! Fields must be ordered the same as RTCConfiguration.
-  struct stuff_being_tested_for_equality {
-    IceServers servers;
-    IceTransportsType type;
-    BundlePolicy bundle_policy;
-    RtcpMuxPolicy rtcp_mux_policy;
-    std::vector<scoped_refptr<RTCCertificate>> certificates;
-    int ice_candidate_pool_size;
-    bool disable_ipv6_on_wifi;
-    int max_ipv6_networks;
-    bool disable_link_local_networks;
-    std::optional<int> screencast_min_bitrate;
-    TcpCandidatePolicy tcp_candidate_policy;
-    CandidateNetworkPolicy candidate_network_policy;
-    int audio_jitter_buffer_max_packets;
-    bool audio_jitter_buffer_fast_accelerate;
-    int audio_jitter_buffer_min_delay_ms;
-    int ice_connection_receiving_timeout;
-    int ice_backup_candidate_pair_ping_interval;
-    ContinualGatheringPolicy continual_gathering_policy;
-    bool prioritize_most_likely_ice_candidate_pairs;
-    struct MediaConfig media_config;
-    bool prune_turn_ports;
-    PortPrunePolicy turn_port_prune_policy;
-    bool presume_writable_when_fully_relayed;
-    bool enable_ice_renomination;
-    bool redetermine_role_on_ice_restart;
-    bool surface_ice_candidates_on_ice_transport_type_changed;
-    std::optional<int> ice_check_interval_strong_connectivity;
-    std::optional<int> ice_check_interval_weak_connectivity;
-    std::optional<int> ice_check_min_interval;
-    std::optional<int> ice_unwritable_timeout;
-    std::optional<int> ice_unwritable_min_checks;
-    std::optional<int> ice_inactive_timeout;
-    std::optional<int> stun_candidate_keepalive_interval;
-    TurnCustomizer* turn_customizer;
-    SdpSemantics sdp_semantics;
-    std::optional<AdapterType> network_preference;
-    CryptoOptions crypto_options;
-    bool offer_extmap_allow_mixed;
-    std::string turn_logging_id;
-    bool enable_implicit_rollback;
-    std::optional<int> report_usage_pattern_delay_ms;
-    std::optional<int> stable_writable_connection_ping_interval_ms;
-    VpnPreference vpn_preference;
-    std::vector<NetworkMask> vpn_list;
-    PortAllocatorConfig port_allocator_config;
-    std::optional<TimeDelta> pacer_burst_interval;
-    bool always_negotiate_data_channels;
-    int max_sctp_streams;
-  };
-  static_assert(sizeof(stuff_being_tested_for_equality) == sizeof(*this),
-                "Did you add something to RTCConfiguration and forget to "
-                "update operator==?");
-  return type == o.type && servers == o.servers &&
-         bundle_policy == o.bundle_policy &&
-         rtcp_mux_policy == o.rtcp_mux_policy &&
-         tcp_candidate_policy == o.tcp_candidate_policy &&
-         candidate_network_policy == o.candidate_network_policy &&
-         audio_jitter_buffer_max_packets == o.audio_jitter_buffer_max_packets &&
-         audio_jitter_buffer_fast_accelerate ==
-             o.audio_jitter_buffer_fast_accelerate &&
-         audio_jitter_buffer_min_delay_ms ==
-             o.audio_jitter_buffer_min_delay_ms &&
-         ice_connection_receiving_timeout ==
-             o.ice_connection_receiving_timeout &&
-         ice_backup_candidate_pair_ping_interval ==
-             o.ice_backup_candidate_pair_ping_interval &&
-         continual_gathering_policy == o.continual_gathering_policy &&
-         certificates == o.certificates &&
-         prioritize_most_likely_ice_candidate_pairs ==
-             o.prioritize_most_likely_ice_candidate_pairs &&
-         media_config == o.media_config &&
-         disable_ipv6_on_wifi == o.disable_ipv6_on_wifi &&
-         max_ipv6_networks == o.max_ipv6_networks &&
-         disable_link_local_networks == o.disable_link_local_networks &&
-         screencast_min_bitrate == o.screencast_min_bitrate &&
-         ice_candidate_pool_size == o.ice_candidate_pool_size &&
-         prune_turn_ports == o.prune_turn_ports &&
-         turn_port_prune_policy == o.turn_port_prune_policy &&
-         presume_writable_when_fully_relayed ==
-             o.presume_writable_when_fully_relayed &&
-         enable_ice_renomination == o.enable_ice_renomination &&
-         redetermine_role_on_ice_restart == o.redetermine_role_on_ice_restart &&
-         surface_ice_candidates_on_ice_transport_type_changed ==
-             o.surface_ice_candidates_on_ice_transport_type_changed &&
-         ice_check_interval_strong_connectivity ==
-             o.ice_check_interval_strong_connectivity &&
-         ice_check_interval_weak_connectivity ==
-             o.ice_check_interval_weak_connectivity &&
-         ice_check_min_interval == o.ice_check_min_interval &&
-         ice_unwritable_timeout == o.ice_unwritable_timeout &&
-         ice_unwritable_min_checks == o.ice_unwritable_min_checks &&
-         ice_inactive_timeout == o.ice_inactive_timeout &&
-         stun_candidate_keepalive_interval ==
-             o.stun_candidate_keepalive_interval &&
-         turn_customizer == o.turn_customizer &&
-         sdp_semantics == o.sdp_semantics &&
-         network_preference == o.network_preference &&
-         crypto_options == o.crypto_options &&
-         offer_extmap_allow_mixed == o.offer_extmap_allow_mixed &&
-         turn_logging_id == o.turn_logging_id &&
-         enable_implicit_rollback == o.enable_implicit_rollback &&
-         report_usage_pattern_delay_ms == o.report_usage_pattern_delay_ms &&
-         stable_writable_connection_ping_interval_ms ==
-             o.stable_writable_connection_ping_interval_ms &&
-         vpn_preference == o.vpn_preference && vpn_list == o.vpn_list &&
-         port_allocator_config.min_port == o.port_allocator_config.min_port &&
-         port_allocator_config.max_port == o.port_allocator_config.max_port &&
-         port_allocator_config.flags == o.port_allocator_config.flags &&
-         pacer_burst_interval == o.pacer_burst_interval &&
-         always_negotiate_data_channels == o.always_negotiate_data_channels &&
-         max_sctp_streams == o.max_sctp_streams;
-}
-
-bool PeerConnectionInterface::RTCConfiguration::operator!=(
-    const PeerConnectionInterface::RTCConfiguration& o) const {
-  return !(*this == o);
-}
-
 scoped_refptr<PeerConnection> PeerConnection::Create(
     const Environment& env,
     scoped_refptr<ConnectionContext> context,